В приложении Java EE я закодировал класс менеджера компоновки. Из этого класса иногда мне нужно получить доступ к сеансу EJB из модуля EJB.
Вот код, и это сгенерированный код:
private MessagesFacadeLocal lookupMessagesFacadeLocal() {
try {
Context c = new InitialContext();
return (MessagesFacadeLocal) c.lookup("java:global/CMS/CMS-ejb/MessagesFacade!cms.model.beans.MessagesFacadeLocal");
} catch (NamingException ne) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
throw new RuntimeException(ne);
}
}
Но при попытке использовать это, я получаю сообщение об ошибке
java.lang.RuntimeException: javax.naming.NamingException:
Не удалось выполнить поиск 'java:global/CMS/CMS-ejb/MessagesFacade!cms.model.beans.MessagesFacadeLocal'
в SerialContext[myEnv= {java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Корневое исключение — javax.naming.NameNotFoundException: CMS]
Я не уверен, почему у меня возникает эта проблема. Как решить эту проблему?