Проверка CDI и Bean на сервере приложений Java EE 5?

#java #jakarta-ee #ide #java-ee-6 #cdi

#java #джакарта-ee #ide #java-ee-6 #cdi

Вопрос:

Проверка CDI и Bean являются стандартными спецификациями Java EE 6. Тем не менее, я могу использовать оба на серверах приложений Java EE 5 (а также в Java SE), просто добавив библиотеки в проект.

Правильно ли это?

Есть ли какие-либо недостатки использования обоих на серверах приложений Java EE 5 вместо серверов приложений Java EE 6?

Я должен использовать Oracle 11 g Suite и JDeveloper. В то же время JDeveloper поддерживает JSF 2.0, но я не могу найти никакой поддержки для проверки Bean или CDI. Тем не менее, это не проблема. Нет поддержки IDE (для генерации кода, пошагового руководства или чего-то еще), но я могу использовать эти библиотеки с помощью простого редактора Java. Верно?

Ответ №1:

Java EE 6 — это, по сути, набор API. Сервер приложений совместим с Java EE 6, если он реализует все эти спецификации. Но вы все равно можете использовать API-интерфейсы на сервере приложений, совместимом с Java EE 5. Некоторые люди даже помещают EJB в Tomcat, так что технически это возможно. Тем не менее, имеет смысл использовать совместимый AS, поскольку он также предоставляет все услуги, связанные со спецификациями.

Ответ №2:

Я считаю, что это правильно.

Недостатком является то, что вы отстаете от версии. Возможно, вам придется изменить свой код, если и когда вы решите перейти на Java EE 6 (например, новый импорт и т. Д.)

Ответ №3:

Вы можете довольно легко добавить Apache OpenWebBeans или JBoss Weld (выберите одну из 2 реализаций CDI) в свой WEB-INF / lib и зарегистрировать прослушиватели сервлетов в вашем web.xml вручную. Вуаля, тогда у вас есть поддержка CDI!

Для проверки компонентов JSR-303 это немного сложнее, потому что его используют только JPA2 и JSF2. Итак, вам нужно будет добавить Myfaces2 и Hibernate-3.5, EclipseLink2 или OpenJPA2 в ваши локальные банки и отключить варианты, предоставляемые контейнером.