java – 当我想将EJB暴露给同一个应用服务器上的不同应用程序时,是否需要使用@Remote?

我有一个@Stateless @Local Bean成功部署在耳朵里.当我浏览JNDI树时,我可以看到新的EJB 3.1标准全局JNDI名称. (JAVA的:全球/产品/产品EJB /产品经理)

我想在同一个应用服务器上的不同应用程序中使用此EJB.我是否需要为此EJB添加远程接口?

解决方法

规范不要求对本地客户端视图进行应用程序间访问,但容器可能选择支持.如果你希望你的应用程序是可移植的,你不应该依赖它并使用远程接口(一个像样的容器应该优化同一个JVM内的调用).从EJB 3.1规范:

3.2.2 Local Clients

Session beans may have local clients.
A local client is a client that is
collocated in the same JVM with the
session bean that provides the local
client view and which may be tightly
coupled to the bean. A local client of
a session bean may be another
enterprise bean or a web component.

Access to an enterprise bean through
the local client view requires the
collocation in the same JVM of both
the local client and the enterprise
bean that provides the local client
view. The local client view therefore
does not provide the location
transparency provided by the remote
client view.

Access to an enterprise bean through
the local client view is only required
to be supported for local clients
packaged within the same application
as the enterprise bean that provides
the local client view. Compliant
implementations of this specification
may optionally support access to the
local client view of an enterprise
bean from a local client packaged in a
different application
. The
configuration requirements for
inter-application access to the local
client view are vendor-specific and
are outside the scope of this
specification. Applications relying on
inter-application access to the local
client view are non-portable.

参考

> EJB 3.1规范

>第3.2.2节“本地客户端”

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...