У меня есть статический метод, который нужно искать для экземпляра EJB. Проблема в том, что имя JNDI зависит от имени JAR, где расположен интерфейс для JEB. То, что я пытаюсь сделать, - это указать имя, указанное экземпляру EJB этого интерфейса во время выполнения.Как найти в runtime имя jndi, которое было присвоено моему EJB
Возможно ли это?
Вот код:
private static String JNDI_NAME;
private IRevisionContext getRevisionContext() {
try {
if (JNDI_NAME == null) {
//TODO: find the jndi name for IRevisionContext
}
InitialContext ctx = new InitialContext();
IRevisionContext revisionContext = (IRevisionContext) ctx.lookup(JNDI_NAME);
return revisionContext;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
Это название дано в контейнере:
Переносные имен JNDI для EJB RevisionContextLBean:
- Java: глобальный/GRP_UFMS_EAR/auditoria- ejb-1.0-SNAPSHOT/RevisionContextLBean! br.ufms.nti.infra.entidade.audit.IRevisionContext
- java: global/GRP_UFMS_EAR/auditoria-ejb-1.0 -SNAPSHOT/RevisionContextLBean
Вы также можете предложить лучший способ сделать это.
Спасибо!