Выбор встроенного контейнера EJB 3.x для запуска приложения Java EE 5 на Tomcat

StackOverflow https://stackoverflow.com/questions/509922

Вопрос

Заранее прошу прощения, если мой вопрос покажется слишком общим - все предварительные исследования я провожу сам, но ничто не заменит реального опыта...

Моя цель — перенести устаревшее приложение Java EE (до EJB 3.x) на Tomcat со встроенным контейнером EJB.На данный момент мой выбор таков:

  • Встраиваемый EJB JBoss
  • Апач OpenEJB
  • Консорциум OW2 EasyBeans
  • что-нибудь еще?

Я планирую использовать JMS (с MDB), сеансовые компоненты (с сохранением и без сохранения состояния), JPA, и мне очень нравится использовать JSF с Seam.

Теперь, учитывая вышеизложенный выбор, есть ли какие-либо преимущества в использовании того или иного встроенного поставщика EJB?

Это было полезно?

Решение

Ниже приведены результаты моей собственной домашней работы. Надеюсь, кто-нибудь найдет этот анализ встроенных поставщиков EJB полезным для принятия решения о том, какой контейнер использовать.

Я выбрал Apache OpenEJB, поскольку он предлагает богатый набор функций, частично поддерживает EJB 3.1 и кажется наиболее активным и хорошо продуманным предложением.

Как обычно, выбор продукта, который подойдет вам лучше всего, зависит от ваших реальных требований, целей и среды.

Встроенный JBoss

  • Лицензия:LGPL
  • Джава:JDK 5.0
  • Интеграция Tomcat:Да, изменение в server.xml
  • Версии Tomcat:5.0 и выше (?)
  • Развертывание в Tomcat:Встроенная война
  • Список функций:JNDI (Local), JBOSS TS, JBOSS Messaging, JCA, JNDI, EJB, JPA, Local TX DataSource/Pool, EJB Security JNDI Configuration:Переопределяет реализацию JNDI от Tomcat, накладывая себя на вершину экземпляра JNDI Tomcat;Tomcat JNDI доступен только для чтения.
  • Типы развертывания:только JAR
  • Поддержка руководства:Нет
  • Поддерживать:Limited, построенный на Top Jboss Microcontainer, который является ядром JBoss 5.0, поддерживается опция для шва на Tomcat
  • JMS-провайдер:те же файлы конфигурации, что и JBoss 5.x.JMS настроен в HSQLDB-persistence-service.xml, и это можно настроить для работы с другими базами данных
  • Пул соединений XA:Нет
  • Службы таймера EJB:Нет
  • *Поставщики сохраняемости:*Спящий режим
  • Ограничения:нет удаленного JMS;только локальные интерфейсы;Реализация JBOSS JBOSS JBOSS JNDI
  • Документация:ограниченное
  • EJB 3.1:Нет

Апач OpenEJB 3.1

  • Лицензия: Лицензия Апач
  • *Java:*JDK 5.0 или 6.0.
  • Интеграция Tomcat: Да, изменения в сценарии запуска оболочки.
  • *Версии Tomcat:*Tomcat 6.x или 5.5.
  • *Развертывание в Tomcat:*файл war.
  • *Список функций:*EJB 3.0 и 3.1, JTA, JAX-WS, JMS, соединители J2EE, JPA, JNDI.OpenEJB использует несколько других платформ с открытым исходным кодом, таких как OpenJPA для обеспечения устойчивости JPA и CMP, ActiveMQ для JMS/MDB и Apache CXF для функций JAX-WS.
  • *Конфигурация JNDI:*гибкая схема именования JNDI.
  • *Типы развертывания:*Свернутый EAR (война), JAR.
  • Поддержка руководства: ActiveMQ JMX-компоненты
  • *Поддержка:*Поддержка сообщества, списки рассылки и форумы, контейнер EJB для Apache Geronimo.
  • *Поставщик JMS:*ActiveMQ
  • *Пул соединений XA:*Да
  • *Службы таймера EJB:*Да
  • *Поставщики сохраняемости:*OpenJPA, Hibernate.
  • *Ограничения:*OpenEJB использует OpenJPA для обеспечения устойчивости JPA и CMP, а для правильной работы OpenJPA в настоящее время требуется JavaAgent.
  • *Документация:*ограниченная, но лучше, чем у других
  • *EJB 3.1:*частичный

EasyBeans

  • *Лицензия:*LGPL
  • *Java:*JDK 5.0 или 6.0.
  • Интеграция Tomcat:Да
  • *Версии Tomcat:*Tomcat 6.x или 5.5.
  • *Развертывание в Tomcat:*файл war.
  • *Список возможностей:*Поддержка EJB 3.0, JAX-WS, OSGi.
  • Конфигурация JNDI:?
  • *Типы развертывания:*JAR.
  • Поддержка руководства:?
  • *Поддержка:*Поддержка сообщества и профессиональная поддержка, список рассылки, JIRA, контейнер EJB для сервера приложений JOnAS.
  • Поставщик JMS:?
  • Пул соединений XA:?
  • *Службы таймера EJB:*Да
  • *Поставщики сохраняемости:*OpenJPA, Hibernate, TopLink, EclipseLink.
  • Ограничения:
  • *Документация:*ограничено
  • EJB 3.1: Нет
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top