通过jndi名称查找EJB实现

时间:2016-11-13 07:34:46

标签: ejb jndi

我是jndi名称空间的新手,我试图通过下面的代码从服务类中查找我的EJB类

InitialContext ctx;
        try {
            ctx = new InitialContext();
            ctx.lookup("?????");
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

但我真的不知道在查找中放什么。我知道jndi的名字就在那里。但是从哪里可以获得我的ejb类的jndi名称。我是新手,并且不能花太多时间学习JNDI。

1 个答案:

答案 0 :(得分:0)

请参阅服务器日志文件。何时部署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