我使用远程接口创建了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
答案 0 :(得分:2)
实际上ejb3使用默认的命名约定,我没有找到办法绕过。
您的bean的名称将类似于: TestSessionBean#package.TestSessionBean
要访问远程服务,您可以执行以下操作
InitialContext ctx = new InitialContext();
ctx.lookup(interfaceClass.getSimpleName()+"#"+interfaceClass.getName());
其中interfaceClass是远程接口的类。
请注意,您尚未为该网络服务器定义远程接口(或本地)。你可能无法从另一个环境中获取theejb。
至于通过anotations更改实际上我认为不可能的名称。不确定