EJB 3.x アプリケーションの実装
このタスクは、Enterprise JavaBeans (EJB) 3.x アプリケーションを実装する場合に使用してください。
このタスクについて
Enterprise JavaBeans (EJB) 仕様によれば、エンタープライズ Bean は、一般に Java™ Platform, Enterprise Edition (JEE) アプリケーションのビジネス・ロジックを実装し、かつデータにアクセスする Java コンポーネントです。 IBM® WebSphere® Application Server は、EJB 2.x および EJB 3.x 仕様を含め、エンタープライズ Bean を幅広くサポートします。 EJB 3 仕様は、エンタープライズ・アプリケーションのためのビジネス・ロジックの開発およびデータ処理を単純化します。 アセンブリー・ツールの 1 つを使用して、Bean を 1 つ以上の EJB 3.x モジュールにアセンブルします。
EJB 3.0 仕様は、Java™ Platform, Enterprise Edition 5 (Java EE 5) プログラミング・モデルに対して行われた最も重要なアップグレードとして定評があります。EJB 3.0 仕様では、Java EE で使用されるビジネス・ロジックおよびパーシスタンス・プログラミング・モデルが単純化および合理化されています。Java パーシスタンス API (JPA) 置き換えはエンティティー・クラスと呼ばれていますが、エンティティー・エンタープライズ Bean と混同してはなりません。JPA エンティティーはエンタープライズ Bean ではなく、EJB コンテナー内で実行する必要はありません。
- ローカル・インターフェースと、ローカル・インターフェースが使用するすべてのパラメーター、戻り、および例外のタイプは、呼び出し元アプリケーションとターゲット EJB アプリケーションの両方のクラス・ローダーから認識できる必要があります。 これは、サーバー・クラス・ローダーに関連付けられた共有ライブラリーを使用するか、または、両方のアプリケーションに関連付けられた独立した共有ライブラリーを使用することによって、実現できます。 詳しくは、『共有ライブラリーの作成』トピックを参照してください。
- ターゲット EJB アプリケーションが停止された場合は、EJB に対するすべてのキャッシュ参照はリフレッシュされる必要があります。
以下のいずれかを行うことができます。
- 呼び出し元アプリケーションを再始動します。呼び出し元アプリケーションが依存しているターゲット EJB アプリケーションを再始動するときはいつでも、その呼び出し元アプリケーションを再始動するのが、最も簡単なソリューションです。
- JNDI から新しい参照を取得します。デフォルトで、Java 名前空間からの JNDI 検索はキャッシュされており、新しい参照を取得するためにはそのキャッシュを使用不可にするか、またはクリアする必要があります。
詳しくは、『JNDI を使用するアプリケーションの開発』を参照してください。
EJB メソッドの呼び出しは、ターゲット EJB アプリケーションが停止されると com.ibm.websphere.ejbcontainer.EJBStoppedException をスローします。 @EJB 注入または JNDI 検索のいずれかを使用してインスタンス変数の EJB 参照をキャッシュに入れている場合、 この例外をキャッチして、キャッシュに入れない検索を実行して EJB 参照をリフレッシュすることができます。
チューニングおよびトラブルシューティングのヒントを含め、WebSphere Application Server で EJB 3.x アプリケーションを実装するには、以下の手順を実行してください。