2016-09-12 11 views
1

私は最近EJB in Actionを読んで、私はこのテキスト時stumbeled:戦争の中でパッケージ化されたEJBは、Liteコンテナでのみ実行されますか?

The Java EE 6 specification allows for session and message-driven beans to be included 
inside a WAR module instead of having to deploy them separately in an EJB-JAR module. 
When included in a WAR module, the beans run in the EJB Lite container. 

When included in a WAR module, the beans run in the EJB Lite container.がtrueの場合、私は仕様のいずれかの情報を見つけることができませんでした。

.warの中にパッケージ化されたEJBは、フルejbコンテナ内で実行されるか、またはLiteバージョンに厳密に制限されます。問題上の任意のソースを歓迎している:)

答えて

4

のJava EE 6仕様では、これは部分的にしか真実である

... WAR内部に含まれるセッションとメッセージ駆動型Beanが可能になります! message-driven beansはに従って間違いなくEJBのライトの一部ではないEJB 3.1 specification章21.1を参照してください。EJB Liteの抽出し、下に表示されます):

21.1 EJB 3.1 LiteはEJB APIが構成され

をさまざまなエンタープライズアプリケーションでビジネスロジックを実装するためのサポートを備えた大きな機能セットです。ただし、すべてのAPI契約は、すべての実行環境で重要なわけではありません( )。さらに、完全なAPIの幅は、エンタープライズJavaBeansテクノロジを使い始めるだけの難題を提示することができます。

この仕様では、EJB 3.1 Liteと呼ばれるEJB APIの最小限のサブセットを定義しています。 EJB 3.1 Liteは製品ではありません。むしろ、移植可能なトランザクション・ビジネス・ロジックの作成に適した小型で強力なEJB機能を含む完全なEJB 3.1 APIの適切なサブセットです。 EJB 3.1 Liteの定義により、ベンダーは自社製品内でEJB APIの移植可能なサブセットのみを実装することができます。機能セットのサイズが大幅に縮小されているため、Java製品のより広い範囲の に含めるのに適しています。その多くは、一般的な完全Java EE実装よりもインストールとランタイムのフットプリントがはるかに小さくなっています。

EJB 3.1 Liteアプリケーションは、EJB LiteアプリケーションがEJB Liteサブセット内にあるEJBアプリケーションです。 EJB 3.1 Liteにのみ定義された特別なAPIはありません。 したがって、EJB 3.1 Liteアプリケーションまたは完全なEJB APIをサポートしていても、EJB 3.1 Liteアプリケーションは、Enterprise JavaBeansテクノロジを実装するJava EE製品にデプロイできます。 EJB 3.1 LiteのAPIは、EJB APIの次のサブセットで構成され、表27に詳述したよう

  • ローカル

    • ステートレス、ステートフル、およびシングルトンセッションBeanコンポーネントおよび無インターフェースビューのみ
    • 同期メソッド呼び出しのみ
    • コンテナ管理のトランザクション/ Bean管理のトランザクション
    • 宣言およびプログラムセキュリティ
    • インターセプタ
    • デプロイメント記述子のサポート(ejb-jar。XML)
  • あなたの質問

    だから、EJBのは、完全なEJBコンテナ内の.warラン内にパッケージすることができますか、彼らは厳密Liteバージョンに制限されているための答え。

    また、上記の抜粋の太字部分を参照してください。 Java EE 6 Webプロファイルは、フルプロファイルの一部でもある.warファイルをサポートする必要があります。

    あなたがでより多くの情報を見つけることができます:

    関連する問題