Я развернул ejb в файле войны (не в файле ear).Ранее я успешно использовал ejb, развернутый в файле ear, но теперь получаю исключение javax.naming.NameNotFoundException, поскольку мой EJB размещен в файле war.Если мое веб-приложение называется SpeechServices, а bean-компонент находится в пакете com.xyz.ejb и его имя - Service, то какую строку поиска JNDI я должен использовать?Я сейчас использую следующее.
ServiceRemote remote = (ServiceRemote) ct.lookup("SpeechServices/Service/remote-com.xyz.ejb.ServiceRemote");
Пожалуйста, помогите мне исправить ошибку в приведенном выше заявлении.
Мой полный код следующий, который работает для подключения к ejbs, если ониухо,
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
env.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "admin");
env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
InitialContext ct = new InitialContext(env);
ServiceRemote remote = (ServiceRemote) ct.lookup("SpeechServices/Service/remote-com.xyz.ejb.ServiceRemote");
System.out.println(remote.parseNotes(null, null, null));