EJB3. Как работает поиск JNDI - PullRequest
0 голосов
/ 23 декабря 2011

Я создаю небольшой фреймворк для обработки данных с EJB 3.
У меня есть уровень Entity Access Object, который абстрагируется от источника данных. Теперь мне нужна какая-то фабрика, которая даст мне правильный бин для запроса сущностей.

Безопасно ли передавать через локальные интерфейсы bean-компонентов JNDI в качестве параметров другие локальные bean-компоненты? Будет ли каждый вызов метода из этого локального интерфейса адресоваться одному и тому же компоненту, или каждый вызов будет передаваться различным компонентам без сохранения состояния, как в случае @EJB?

1 Ответ

1 голос
/ 23 декабря 2011

У вас нет никаких гарантий, что при использовании JNDI вы получите тот же экземпляр EJB, так же как и при внедрении зависимости с использованием @EJB или @Inject.Единственная разница между @EJB и поиском JNDI - это SFSB.В этом случае контейнер должен предоставлять вам новый экземпляр SFSB каждый раз, когда вы используете поиск JNDI.

Однако, на мой взгляд, в EJB 3.x и в эпоху внедрения зависимостей легче понять @EJB / @Inject аннотация.Нет необходимости передавать какие-либо ссылки на объекты, просто определите свои зависимости (соавторы EJB) в каждом EJB, используя @EJB.

...