Java > JavaEE > EnterpriseBeans > EmbeddedEBC

「Java/JavaEE/EnterpriseBeans/EmbeddedEBC」の編集履歴(バックアップ)一覧に戻る

Java/JavaEE/EnterpriseBeans/EmbeddedEBC - (2012/09/22 (土) 14:33:30) のソース

-JavaEEサーバの外側で、エンタープライズビーンアプリケーションを動かす
----
*Overviewof the Embedded Enterprise Bean Container
-JavaSE環境で実行されるクライアントコードからエンタープライズビーンにアクセスできる
-コンテナとクライアントは同じJVM上で動作
-サーバにデプロイせずにエンタープライズビーンのテストができる
-JavaEEサーバで提供されているサービスの多くが利用可能
--インジェクション
--トランザクション管理
--セキュリティ
-エンタープライズビーンはサーバでもスタンドアローン環境でも同様に動作する
----
*Developing Embeddable Enterprise Bean Applications
-組み込みコンテナがサポートする機能
--ローカルセッションビーン
---ローカルまたはno-interface viewのステートレス/ステートフル/シングルトンセッションビーン
---すべてのメソッドへのアクセスは同期
---Webサービスエンドポイントとしては利用不可
--トランザクション
---CMT or BMT
--セキュリティ
---宣言的 or プログラマティック
--インターセプタ
---クラスレベル/メソッドレベルのセッションビーンインターセプタ
--DD
---任意でejb-jar.xml(オーバライドルールはJavaEEサーバコンテナと同じ)
**Running Embedded Applications
-クラスパスにcontainerProviderRuntime.jarを含めてjavaコマンドをキックする
 java -classpath mySessionBean.jar:containerProviderRuntime.jar:myClient.jar com.example.ejb.client.Main
**Creating the Enterprise Bean Container
-EJBContainer.createEJBContainerでコンテナを生成
-EJBContainerはクラスパスからエンタープライズビーンを探す
--META-INF/ejb-jar.xml
--エンタープライズビーンアノテーション付きのクラス
--JARの中のMETA-INF/ejb-jar.xml、エンタープライズビーンアノテーション付きのクラス
-EJBContainer.createEJBContainerが正常終了したら、ビーンの初期化は完了している
***Explicitly Specifying Enterprise Bean Modules to be Initialized
-EJBContainerに特定のエンタープライズビーンのみを初期化するようにEJBContainer.MODULESプロパティ指定できる
--モジュールが組み込みコンテナやクライアントと同一のJVMクラスパス上の場合
---Stringでモジュール名を指定
 Properties props = new Properties();
 props.setProperty(EJBContainer.MODULES, "mySessionBean");
 EJBContainer ec = EJBContainer.createEJBContainer(props);
--モジュールが組み込みコンテナやクライアントとは別のJVMクラスパス上の場合
---FileでJARファイルまたは、JARの展開ディレクトリを指定
 Properties props = new Properties();
 File ejbJarFile = new File(...);
 props.setProperty(EJBContainer.MODULES, ejbJarFile);
 EJBContainer ec = EJBContainer.createEJBContainer(props);
**Looking Up Session Bean References
-セッションビーンへの参照を取得するには、EJBContainer.getContextを利用する
 EJBContainer ec = EJBContainer.createEJBContainer();
 Context ctx = ec.getContext();
 MySessionBean msb = (MySessionBean)ctx.lookup("java:global/mySessionBean/MySessionBean");
**Shutting Downthe Enterprise Bean Container
-リソース解放のためにコンテナをクローズする。EJBContainer.close
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。