通过@EJB注释注入远程EJB

时间:2012-05-01 14:31:04

标签: java java-ee ejb ejb-3.0

简单的问题:当我在给定的Application Server上部署EJB,然后我想从部署在不同Application Server上的EJB(当然是远程)中使用它时,如何注入前EJB的远程实例在第二个内部?

它应该是这样的:

 @Stateless
 public class EJBClient {

   @EJB("myRemoteBean")
   static private MyBeanRemote bean;

   ... 
 }

但我想知道的是:如何指定第一个Application Server的JNDI属性(IP等)以进行查找?

如果没有标准的方法,服务器就是JBoss。

1 个答案:

答案 0 :(得分:0)

首先,我想你的代码中有一些混乱。 你不应该使用一个用@Stateless注释的静态类。

第二个为什么要调用你的calss EJBClient,然后用@Stateless注释它?

要回答yuor问题,查找方法取决于应用程序服务器。 在Jboss中,EJB名称由

生成

Context / EJB_Name / remote

如果Context是您部署EJB的EAR名称,则EJB_Name是使用@Remote注释的接口的名称。

在查找过程中,您应该在位于其他服务器的属性中指定。 希望这能帮助你。