我四处寻找有关这方面的信息,但奇怪的是找不到。
我想知道这一点:是否必须为 @Local/@Stateless bean 做任何特定的事情才能出现在 JNDI 中?我原以为这或多或少是自动的。但是列出 InitialContext 什么都没有,真的什么都没有。
我正在使用此代码转储 JNDI 信息:
System.out.println("========== jndi ============");
InitialContext initialContext;
try {
initialContext = new InitialContext();
//Get all the names in the initial context
NamingEnumeration children = initialContext.list("");
while(children.hasMore()) {
NameClassPair ncPair = (NameClassPair)children.next();
System.out.print(ncPair.getName() + " (type ");
System.out.println(ncPair.getClassName() + ")");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("========== jndi. ============");
此代码在 servlet 处理程序中运行。我在 Tomcat 7 上执行此操作。