通过 jndi 名称查找 EJB 实现

Lookup an EJB Implementation by jndi name

我是 jndi 命名空间的新手,我正在尝试通过以下代码

从服务 class 中查找我的 EJB class
InitialContext ctx;
        try {
            ctx = new InitialContext();
            ctx.lookup("?????");
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

但我真的不知道要在查找中放入什么。我知道那里有 jndi 名称。但是我从哪里可以获得我的 ejb class 的 jndi 名称。我是新手,实在没时间学习JNDI。

参考服务器日志文件。部署 EJb bean 时。它看起来像这样

部署 "xyz.ear" 的部署单元子部署 "sample-web-1.0.0.war" 中名为 SampleImpl 的会话 bean 的 JNDI 绑定如下:

查找 EJB bean 的示例代码。

final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
SampleIf sif = (SampleEJBIf) context.lookup("java:app/sample-ejb-1.0-SNAPSHOT/SampleImpl");

定义查找路径的其他方式

java:global/pms/pms-web-1.0.0/SampleClass!com.etipl.pms.x12.SampleClass
java:app/pms-web-1.0.0/SampleClass!com.etipl.pms.x12.SampleClass
java:module/SampleClass!com.etipl.pms.x12.SampleClass
java:global/pms/pms-web-1.0.0/SampleClass
java:app/pms-web-1.0.0/SampleClass
java:module/SampleClass