В 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();
}
}