Вы уверены, что IFooBarService
- это имя JNDI, к которому привязан сервис IFooBarService? Например, JBoss показывает имена JNDI в журнале загрузки. Затем вы можете использовать его для поиска.
В общем, если вы хотите, чтобы ваше приложение было переносимым, вам не следует полагаться на серверный механизм для генерации имен JNDI, поскольку спецификация Java EE имеет свои собственные. Вы должны быть в состоянии сделать:
IFooBarService service = InitialContext.doLookup("java:comp/env/IFooBarService");
Если вы используете более новые версии Java EE (Java EE 6) и хотите найти EJB, который находится в том же приложении, но в другом модуле, вы можете сделать:
IFooBarService service = InitialContext.doLookup("java:app/[module name]/IFooBarService");
Подробнее о стандартных именах здесь .