Как использовать JNDI для получения новой гостевой сеансовой бобы в EJB3?
-
27-09-2019 - |
Вопрос
Я пытаюсь использовать JNDI для получения новой гостевой сеансовой бобы в сервлете (как локальная переменная). Мой doGet()
Метод имеет следующее:
Bean bean = (Bean) new InitialContext().lookup("beanName");
Я пытался включить java:comp/env
Но все мои попытки привели к названию исключения.
Я пытаюсь связать боб в @Stateful
Аннотация, используя различные догадки, как @Stateful(name="beanName")
а также @Stateful(mappedName="beanName")
Решение
Что мне нужно было использовать @EJB
Аннотация на сервлете на уровне класса, следующим образом:
@EJB(name="beanName", beanInterface = Bean.class)
Затем поиск в способе обслуживания может случиться с использованием имени, связанного с @EJB
Аннотация:
Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");
Там нет необходимости в самом классе бобов, кроме равнины @Stateful
Аннотация.
Не связан с StackOverflow