Как использовать JNDI для получения новой гостевой сеансовой бобы в EJB3?

StackOverflow https://stackoverflow.com/questions/2838769

Вопрос

Я пытаюсь использовать 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 Аннотация.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top