为什么只使用JNDI来访问远程EJB (不同的JVM,不同的主机)?为什么不使用@ EJB注释呢?
在所有EJB书籍中,都提到可以使用@EJB注释访问远程EJB。
示例:http://docs.oracle.com/javaee/7/tutorial/doc/ejb-intro004.htm
32.4.4远程客户端 企业bean的远程客户端具有以下特点。
要创建允许远程访问的企业bean,您必须:
客户端对实现远程业务接口的企业bean的访问是通过依赖项注入或JNDI查找.完成的。
上面的文字不正确吗?我还没有看到任何使用依赖注入(@ EJB )访问远程EJB的代码。不可能吗?
有几篇文章说,不能使用@ EJB注释调用远程ejb:
打扰一下。我的英语是基本的。
发布于 2016-05-12 09:56:00
我认为主要原因是通过以下方式注入远程(不同的JVM) EJB实例
@EJB(lookup = "jndi_name")
仅受某些应用程序服务器的支持,并且只具有特定的配置。
也就是说,JBoss 7+只在独立文件中定义remote-outbound-connection (并在包含对该连接的引用的已部署包的META-INF文件夹中添加jboss-ejb-jar.xml )时才支持。
此外:
@EJB只能在CDI托管bean中工作。https://stackoverflow.com/questions/25613579
复制相似问题