EJB之Local与Remote

 

EJB接口之Local与Remote

发布EJB时,能够选择每一个接口的访问方式:本地访问或远程访问。顾名思义,本地访问就是指调用者在与EJB同一台机器(JVM)中访问EJB,不然就是远程访问了。在一个EJB中,Remote与Local可以同时使用,可是须要配置各自的value属性,且一个接口只能用一种注解标注php

Local 接口


  • 注解为”@Local”的接口称为本地接口(或者@Local和@Remote都不存在时,默认为Local接口)。
  • 因为在同一个JVM中运行,调用者调用EJB时,直接查找地址访问EJB,快速。
  • 访问的是服务端的EJB自己。
  • 若须要传入对象作参数,对象能够不用实现序列化接口。
  • 经常使用于同一个EJB中 Session Bean 和 Entity Bean 之间的相互调用

Remote 接口


  • 注解为”@Remote”的接口称为本地接口
  • 以RMI(Remote Method Invocation 远程方法调用)的方式实现调用,参考连接
  • 访问的是EJB的拷贝。
  • 若须要传入对象作参数,对象必须实现序列化接口。
  • 经常使用于 servlet/jsp 或 Java 应用客户端的调用。

使用总结

  1. 若是你的 EJB 客户与 EJB 处于同一个JVM环境中时,你能够只生成 local 类型接口(包括EJBHome 与EJBObject),若是你须要在与EJB容器不一样的JVM环境中调用你的EJB的话,你必须生成Remote类型的接口(包括EJBHome 与 EJBObject);
  2. 在通常状况下建议两种类型的接口都生成。尤为是Session Bean,Entity Bean,能够只生成local类型的接口,若是想远程调用你的Entity Bean通常用Session Bean作代理
  3. 若是你不是远程调用EJB的话,使用EJB时建议调用local接口,这样效率高,由于远程调用就意味着创建网络链接,效率必然不如local调用。

generated by haroopadcss

相关文章
相关标签/搜索