Как использовать JNDI для получения нового Stateful Session Bean в EJB3? - PullRequest
2 голосов
/ 15 мая 2010

Я пытаюсь использовать JNDI для получения нового Stateful Session Bean в сервлете (в качестве локальной переменной). Мой doGet() метод имеет следующее:

Bean bean = (Bean) new InitialContext().lookup("beanName");

Я пытался включить java:comp/env, но все мои попытки привели к именованию исключений.

Я пытаюсь связать бин в аннотации @Stateful, используя различные догадки, такие как @Stateful(name="beanName") и @Stateful(mappedName="beanName")

1 Ответ

2 голосов
/ 19 мая 2010

Мне нужно было использовать аннотацию @EJB на сервлете на уровне класса следующим образом:

@EJB(name="beanName", beanInterface = Bean.class)

Тогда поиск в сервисном методе может произойти с использованием имени, связанного с аннотацией @EJB:

Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");

В самом классе Бинов ничего не нужно, кроме простой @Stateful аннотации.

...