2010-02-16 4 views
11

Я посмотрел на справочную версию JBoss Weld Reference для контекстов и зависимостей JSR-299, и я хотел знать, как другие реализации CDI сравниваются друг с другом. В частности, я знаю о Weld, Resin CanDI (от Caucho) и Apache OpenWebBeans.Различия между Java EE 6 Реализации CDI

ответ

1

В настоящее время они не сравниваются. Я сомневаюсь, что кто-то из них был использован в производстве, они слишком свежи.

  • Weld должен быть эталонная реализация, потому что в настоящее время разрабатывается в тесном сотрудничестве с спецификации свинца - Gavin King (с JBoss)
  • лично мне нравится OpenWebBeans более в силу наличия бит, но это не важно при его использовании.
9

Краткий обзор главных действующих лиц:

  • Weld является RI (есть только один RI), версия 1.0, оно встроено в GlassFish v3 и предстоящая JBoss AS EE 6 но также может использоваться с other containers (с некоторыми ограничениями).
  • OpenWebBeans еще находится в стадии разработки, версия 1.0.0 планируется на конец апреля 2010 года
  • Caucho Канди, кажется, связаны с Resin (я могу ошибаться, но я не мог найти четкие доказательства наоборот, на их веб-сайте, что плохо в любом случае).

Итак, если бы мне пришлось выбрать одну реализацию на момент написания этого, я бы выбрал RI (т. Е. Weld), потому что он готов и может использоваться как «автономный» (готовый не означает, что он был широко используемый).

Если вы ищете сравнение производительности (что еще вы хотели бы сравнить?), Я не думаю, что вы найдете такой показатель на данный момент.

В любом случае, если вы хотите использовать CDI, просто сделайте это.

+0

Что вы думаете о OWB и WELD, о том, что оба они немного зрелы. Я слышал, что OWB работает быстрее? Что я думаю? –

+0

Да OWB работает быстрее. Есть некоторые ориентиры. Это также более расширяемо. –

0

Я бы сказал обратное;) Но оба проекта - отличные инструменты и поставляются с различными серверами приложений. Ключ состоит в том, что они следуют спецификации Java EE и обеспечивают невероятную мощность в гибкости и повторном использовании программ.

4

На самом деле я использую OpenWebBeans в действительно производственном проекте правительства уже вместе с полномасштабной средой веб-профиля EE6. Но я не скажу вам, где, поэтому он не может получить slashdotted;) (Кстати, будьте готовы, что большинство частей EE-6, например, например, интеграция EL-2.2 в настоящее время требует большого количества небольших исправлений и настроек для запуска - но на самом деле это выглядит многообещающе!)

На самом деле сообщества Weld и OpenWebBeans довольно часто общаются друг с другом, поэтому, когда мы сталкиваемся с чем-то, явно не выстроенным в спецификации, мы оба пытаемся обсудить ситуацию. И так как задействованные парни Caucho Ferg и Reza оба просто говорят, что боги java, я уверен, их реализация действительно хороша;)

Что касается OpenWebBeans: в настоящее время мы готовим выпуск Milestone4, который должен выйти на следующей неделе. У openwebbeans-impl aka 'owb-core' почти нет зависимостей вообще! Все «тяжелые» зависимости обрабатываются плагинами, которые автоматически выбираются из пути к классам, если они доступны.Они охватывают определенные части спецификации, когда дело доходит до взаимодействия с другими частями ЭЭ. Есть, например, плагины, такие как openwebbeans-jsf, openwebbeans-jms, openwebbeans-resource (обработка ресурсов EE + JPA) и т. Д.

КПП: не пропустите замечательный простой способ написать свой собственный портативный компьютер! Расширения CDI.

Чтобы получить первое представление, вы можете посмотреть на Seam3: anonsvn.jboss.org/repos/seam/modules/ и конечно Apache MyFaces CODI: github.com/struberg/myfaces-ext-cdi (получит перейти к Apache MyFaces SVN скоро)

LieGrue, Страб

+0

Что вы думаете сейчас о OWB vs WELD, поскольку оба они немного зрелы. Я слышал, что OWB работает быстрее? Что я думаю? –

+0

небольшое обновление. Тем временем Apache MyFaces CODI достиг 1.0.0. Более подробную информацию можно найти на официальном сайте: http://myfaces.apache.org/extensions/cdi/index.html – struberg

1

пока спецификация CDI, то я надеюсь, что не будет никакой функциональной разницы между RIs. Проверьте эту статью: Understanding Java EE 6 and CDI

Смежные вопросы