Java EE 6 では、JNDI パスが標準化され、https: //docs.oracle.com/javaee/6/tutorial/doc/gipjf.html で文書化されています。
したがって、片方の耳の中でのみ JNDI 呼び出しを行っていると仮定すると、次のようになります。
@Stateless
public class BookBean implements IBookBeanLocal {
@Resource(lookup = "java:module/ModuleName")
private String moduleName;
@PostConstruct
public void afterInit() {
String jndi = "java:app/" + moduleName + "/" + getClass().getSimpleName();
}
}
または、次の方法でモジュール名を取得しますlookup
。
@Stateless
public class BookBean implements IBookBeanLocal {
@PostConstruct
public void afterInit() {
Context ctx = new InitialContext();
String jndi = "java:app/" + ctx.lookup("java:module/ModuleName") + "/" + getClass().getSimpleName();
}
}