Я устанавливаю сессионный компонент с сохранением состояния и хочу вызвать его с context.lookup (name), но не знаю, как правильно определить переменную name.
Я работаю с Intellij и какНасколько я знаю, нет способа автоматически сгенерировать этот путь по сравнению с NetBeans.Я пробовал несколько способов, используя указание, которое я нашел для этого имени: java: scope [/ app-name] / module-name / bean-name [! Полностью определенное-interface-name] Однако я всегда получаю следующую ошибку javax.naming.NamingException: не удалось выполнить поиск для "RememberEJB" в 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: RememberEJB не найдено]
Ниже приведенометод, который вызывает функцию:
public Response getRememberedPost() {
try {
javax.naming.Context context = new InitialContext(); // Could also be InitialContext context = new InitialContext();
RememberBean rememberBean = (RememberBean) context.lookup("RememberEJB");
return Response.ok(rememberBean).build();
}
catch (NamingException e) {
e.printStackTrace();
return Response.noContent().build();
}
}
Я ожидаю, что переменная имени должна быть чем-то вроде «java: global / project-name / folder-for-beans / RememberEJB! src.Beans.RememberLocal», ноэто все равно дает ту же ошибку.