EJB モジュール

Enterprise JavaBeans (EJB) モジュールは、1 つ以上のエンタープライズ Bean を単一のデプロイ可能な単位にアセンブルするために使用されます。EJB モジュールは、標準の Java™ アーカイブ (JAR) ファイルに保管されます。

EJB モジュールには、以下が含まれています。

EJB モジュールは、スタンドアロン・アプリケーションとしてデプロイすることも、他の EJB モジュールまたは Web モジュールと組み合わせて Java アプリケーションを作成することもできます。EJB モジュールは、エンタープライズ Bean コンテナーにインストールされ、そこで実行されます。

デプロイメント記述子を使用して EJB 3.x モジュールをパッケージ化するには、いくつかの方法があります。EJB 3.x モジュールをパッケージ化するには、EJB 3.x スタイル・セッションやメッセージ駆動型 Bean を排他的に使用することも、EJB 2.1 スタイル・セッションやメッセージ駆動型 Bean を排他的に使用することも、または 2.1 および 3.x スタイル Bean を組み合わせて使用することもできます。XML デプロイメント記述子は、バージョン 3.x デプロイメント記述子である必要があります。 2.1 エンティティー Bean を 2.1 デプロイメント記述子を使用してモジュールにパッケージ化する必要があります。

EJB 3.x Bean を含む EJB モジュールは、製品上で実行する場合、EJB 3.x 仕様レベルになっている必要があります。EJB モジュールを設定して EJB 3.x Bean をサポートするには、ejb-jar.xml デプロイメント記述子のレベルを 3.0 または 3.1 に設定することも、またはモジュールに ejb-jar.xml デプロイメント記述子を含めないようにすることもできます。モジュールが EJB 2.1 以前のレベルになっている場合、実行時には、アノテーション・スキャンまたはリソース注入の組み込みを含めて、どのような EJB 3.x 機能も実行されません。

EJB 3.x Bean のパッケージ化およびデプロイメントに関する詳細情報については、トピック『EJB 3.x モジュール・パッケージ化の概要』を参照してください。

ローカル・クライアント・ビュー

EJB 仕様では、同一アプリケーション内にパッケージ化された複数の EJB について、ローカル・クライアント・ビューがサポートされている必要があります。 これには、ローカル・ホーム、ローカル・ビジネス・インターフェース、および非インターフェース・ビューが含まれます。 この製品は、別々のアプリケーション内にパッケージ化された複数の EJB に対してはローカル・クライアント・ビューへのアクセスを許可しますが、いくつかの制約事項があります。
  • ローカル・インターフェースと、ローカル・インターフェースが使用するすべてのパラメーター、戻り、および例外のタイプは、呼び出し元アプリケーションとターゲット EJB アプリケーションの両方のクラス・ローダーから認識できる必要があります。 これは、サーバー・クラス・ローダーに関連付けられた共有ライブラリーを使用するか、または、両方のアプリケーションに関連付けられた独立した共有ライブラリーを使用することによって、実現できます。 詳しくは、『共有ライブラリーの作成』トピックを参照してください。
  • ターゲット EJB アプリケーションが停止された場合は、EJB に対するすべてのキャッシュ参照はリフレッシュされる必要があります。 次のいずれかのアクションを実行できます。
    • 呼び出し元アプリケーションを再始動します。呼び出し元アプリケーションが依存しているターゲット EJB アプリケーションを再始動するときはいつでも、その呼び出し元アプリケーションを再始動するのが、最も簡単なソリューションです。
    • JNDI から新しい参照を取得します。デフォルトで、Java 名前空間からの JNDI 検索はキャッシュされており、新しい参照を取得するためにはそのキャッシュを使用不可にするか、またはクリアする必要があります。 詳しくは、『JNDI を使用するアプリケーションの開発』を参照してください。

      EJB メソッドの呼び出しは、ターゲット EJB アプリケーションが停止されると com.ibm.websphere.ejbcontainer.EJBStoppedException をスローします。 @EJB 注入または JNDI 検索のいずれかを使用してインスタンス変数の EJB 参照をキャッシュに入れている場合、 この例外をキャッチして、キャッシュに入れない検索を実行して EJB 参照をリフレッシュすることができます。

    • ターゲット EJB アプリケーションの間接ローカル EJB プロキシーを有効にします。 これにより、アプリケーションの再始動時にローカル EJB プロキシーが自動的にリフレッシュされます。 間接ローカル・プロキシーを有効にすると、EJB メソッドの起動ごとに追加のオーバーヘッドが発生します。

      間接ローカル・プロキシーは、管理コンソールなどを使用して有効にすることができます。 「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」 > application_name > 「カスタム・プロパティー」 > 「新規」とクリックします。カスタム・プロパティーの名前 com.ibm.websphere.ejbcontainer.indirectLocalProxies、 値 true を指定し、変更を適用して保存します。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_emod
ファイル名:cejb_emod.html