给EJB一个JNDI

时间:2009-03-24 11:05:54

标签: glassfish ejb jndi

我使用远程接口创建了EJB:

@Stateless
public class TestSessionBean implements TestSessionRemote 
{

    public void businessMethod() 
    {
            System.out.println ("***businessMethod");
    }
}

我通过以下方式从服务器上运行的另一个组件(例如servlet)访问它:

ic = new InitialContext();
ic.lookup("myEJB");

我正在使用netBeans 6.5.1和glassfish v2。

我该怎么做?

谢谢, IDO

1 个答案:

答案 0 :(得分:2)

实际上ejb3使用默认的命名约定,我没有找到办法绕过。

您的bean的名称将类似于: TestSessionBean#package.TestSessionBean

要访问远程服务,您可以执行以下操作

InitialContext ctx = new InitialContext();
ctx.lookup(interfaceClass.getSimpleName()+"#"+interfaceClass.getName());

其中interfaceClass是远程接口的类。

请注意,您尚未为该网络服务器定义远程接口(或本地)。你可能无法从另一个环境中获取theejb。

至于通过anotations更改实际上我认为不可能的名称。不确定