2011-01-27 6 views
0

Я реализовал сессионные компоненты EJB 2.0 как POJO за фасадом EJB.Создание непосредственно против поиска JNDI

Я хотел бы получить ссылку на Bean B из фасоли А. Должен ли я:

а. Используйте ejb-ref и выполните JNDI-поиск

b. Создайте экземпляр B напрямую (так как это POJO)

Оба дадут мне тот же результат. Каковы плюсы и минусы каждого метода? Почему я должен выбирать один за другим?

Спасибо.

ответ

1

Вы никогда не копируете управляемые объекты самостоятельно. Вы должны выполнить поиск. EJB 2.0 далеки от POJO. EJB 3.x - POJO, но вы никогда не будете создавать их сами по многим причинам.

+0

Многие причины ... например? – Joel

+0

Управление транзакциями, которое никогда не будет работать, инъекции, которые никогда не будут работать и т. Д. Они просто не предназначены для инстанцирования разработчиком, когда они помечены как EJB. Если вы не хотите, чтобы EJB не отмечал его как EJB. – DaTroop

+0

В частности, ссылка, возвращаемая поиском, будет прокси, а не прямой ссылкой на класс bean. Прокси-сервер позволяет реализовать все поведение EJB: объединение экземпляров, удаленное взаимодействие, транзакции, безопасность, инъекции зависимостей, управление жизненным циклом и т. Д. –