我是jndi名称空间的新手,我试图通过下面的代码从服务类中查找我的EJB类
InitialContext ctx;
try {
ctx = new InitialContext();
ctx.lookup("?????");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但我真的不知道在查找中放什么。我知道jndi的名字就在那里。但是从哪里可以获得我的ejb类的jndi名称。我是新手,并且不能花太多时间学习JNDI。
答案 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