我不确定这是否适用于 Glassfish,但在 JBOSS 的情况下,如果您打开 DEBUG,您会注意到将使用的 jndi 名称。
例如,在部署名为 DemoBean 的会话 bean 期间,您将在 server.log 文件中看到以下日志:-
2009-07-24 09:08:18,747 调试 [org.jboss.ejb3.stateless.StatelessDelegateWrapper] 创建 jboss.j2ee:jar=SessionBeanDemo.jar,name=DemoBean,service=EJB3 2009-07-24 09:08:18,747 DEBUG [org.jboss.ejb3.ProxyDeployer] 没有声明远程绑定:DemoBean 2009-07-24 09:08:18,747 DEBUG [org.jboss.ejb3.ProxyDeployer] DemoBean 2009-07-24 09 有远程接口: 08:18,747 DEBUG [org.jboss.ejb3.ProxyDeployer] 默认远程绑定的 jndiName 为DemoBean/remote
然后在您的客户端代码中,您可以像这样查找它:-
InitialContext ctx;
try {
ctx = new InitialContext();
DemoBeanRemote demo = (DemoBeanRemote) ctx.lookup("DemoBean/remote");
System.out.println(demo.sayHello());
} catch (NamingException e) {
e.printStackTrace();
}