Tomcat 上で Java EE 5 アプリを実行するための組み込み EJB 3.x コンテナの選択

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

質問

私の質問が一般的すぎるように聞こえたら、あらかじめごめんなさい。私はすべての予備調査を自分で行っていますが、実際の経験に代わるものはありません...

私の目標は、レガシー Java EE アプリケーション (EJB 3.x 以前) を EJB コンテナーが組み込まれた Tomcat に移植することです。現在の私の選択肢は次のとおりです。

  • JBoss 埋め込み可能 EJB
  • Apache OpenEJB
  • OW2 コンソーシアム EasyBeans
  • 他に何か?

私は JMS (MDB を使用)、セッション Bean (ステートフルおよびステートレス)、JPA を使用することを期待しており、Seam で JSF を使用することに本当に興奮しています。

さて、上記の選択肢を考慮すると、いずれかの組み込み EJB プロバイダーを使用することに利点はありますか?

役に立ちましたか?

解決

以下は私自身の宿題の結果です。埋め込み EJB プロバイダーのこの分析が、コンテナを使用するかどうか、またどのコンテナを使用するかを決定するのに役立つと誰かが見つけてくれれば幸いです。

私が Apache OpenEJB を選択したのは、Apache OpenEJB が豊富な機能セットを提供し、EJB 3.1 を部分的にサポートし、最もアクティブでよくまとめられた製品であると思われるためです。

いつものように、どの製品があなたにとって最適であるかは、実際の要件、目標、環境によって異なります。

組み込みJBoss

  • ライセンス:LGPL
  • ジャワ:JDK5.0
  • Tomcatの統合:はい、server.xml を変更します
  • Tomcatのバージョン:5.0以上(?)
  • Tomcat へのデプロイメント:埋め込まれた戦争
  • 機能一覧:JNDI(ローカル)、JBoss TS、JBossメッセージング、JCA、JNDI、EJB、JPA、ローカルTX DataSource/Connection Pool、EJB Security JNDI構成:TomcatのJNDIインスタンス化の上に重ねることにより、TomcatのJNDI実装を無効にします。Tomcat JNDI は読み取り専用です
  • 導入の種類:JARのみ
  • 経営サポート:いいえ
  • サポート:Limited、JBoss 5.0のコアであるTop Jboss Microcontainerの上に構築され、TomcatのSeamのサポートオプション
  • JMSプロバイダー:JBoss 5.x と同じ設定ファイル。JMSはhsqldb-persistence-service.xmlで構成されており、これは他のデータベースで動作するように調整できます
  • XA接続プール:いいえ
  • EJBタイマーサービス:いいえ
  • *永続プロバイダー:*休止状態
  • 制限事項:リモート JMS はありません。ローカルインターフェースのみ。ローカルのみのJBOSS JNDI実装
  • ドキュメンテーション:限定
  • EJB3.1:いいえ

Apache OpenEJB 3.1

  • ライセンス: Apacheライセンス
  • *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 は、JPA および CMP 永続性を提供する OpenJPA、JMS/MDB 用の ActiveMQ、JAX-WS 機能用の Apache CXF など、他のいくつかのオープン ソース フレームワークを使用します。
  • *JNDI 構成:*柔軟な JNDI 命名スキーマ
  • *デプロイメントタイプ:*Collapsed EAR (戦争)、JAR
  • 管理サポート: ActiveMQ JMX MBean
  • *サポート:*コミュニティサポート、メーリングリストとフォーラム、Apache Geronimo用のEJBコンテナ
  • *JMS プロバイダー:*ActiveMQ
  • *XA 接続プール:*はい
  • *EJB タイマー サービス:*はい
  • *永続プロバイダー:*OpenJPA、Hibernate
  • *制限事項:*OpenEJB は OpenJPA を使用して JPA と CMP の永続性を提供します。現在、OpenJPA が適切に機能するには JavaAgent が必要です。
  • *ドキュメント:*限定的だが他のものより優れている
  • *EJB 3.1:*部分的

イージービーンズ

  • *ライセンス:*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、JOnAS アプリケーション サーバー用 EJB コンテナ
  • JMSプロバイダー:?
  • XA 接続プール:?
  • *EJB タイマー サービス:*はい
  • *永続プロバイダー:*OpenJPA、Hibernate、TopLink、EclipseLink
  • 制限事項:
  • *ドキュメント:*限定的
  • EJB 3.1: いいえ
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top