简单的问题:当我在一个给定的应用服务器上部署一个EJB,然后我想从部署在不同应用服务器上的EJB中使用它(当然是远程的),我如何在第二个应用服务器中注入前一个EJB的远程实例?
它应该是这样的:
@Stateless
public class EJBClient {
@EJB("myRemoteBean")
static private MyBeanRemote bean;
...
}但我想知道的是:如何指定第一个Application Server的JNDI属性(IP等),以便第二个Application Server执行查找?
如果没有标准的方法可以做到这一点,那么服务器就是JBoss。
发布于 2012-08-08 15:35:42
首先,我猜你的代码中有一点混乱。您不应该使用带有@Stateless注释的静态类。
其次,为什么要先调用EJBClient类,然后用@Stateless对其进行注释
为了回答您的问题,查找方法依赖于应用程序服务器。在Jboss中,EJB名称是由Context/EJB_Name/remote生成的。其中,Context是您部署EJB的EAR名称,EJB_Name是用@Remote注释的接口的名称。
在查找过程中,您应该在属性中指定另一个服务器所在的位置。
希望这能对你有所帮助。
https://stackoverflow.com/questions/10399163
复制相似问题