EJB 1.1 から EJB 2.x へのコードのマイグレーション

EJB 1.1 から EJB 2.x にプロジェクトを変換する場合、 既存の EJB 1.1 コードを EJB 2.x にマイグレーションするステップを行う必要があります。

このタスクについて

注: EJB 2.x Bean は、EJB 2.x プロジェクトでのみサポートされます (ただし、2.x プロジェクトは 1.1 Bean もサポートします)。
  1. CMP 1.1 Bean について、各 CMP フィールドを getXXX および setXXX の抽象メソッドによって置換します。 (その後で、Bean クラスを抽象化する必要があります。)
  2. CMP について、主キーに getXXX および setXXX の抽象メソッドを作成します。
  3. CMP 1.1 Finder メソッドについて、Finder メソッドごとに EJBQL (EJB 照会言語) メソッドを作成します。
    注: バージョン 8.5.x V6.0 での EJB 照会言語には、以下の制限があります。
    • 他の EJB との関係で構成されるキーを持つ EJB を含む EJB 照会言語の照会は、 無効と表示され、デプロイメント時にエラーが発生します。
    • IBM® EJB 照会言語サポートは、さまざまな方法で EJB 2.x 仕様を拡張しています。 いくつかの制約事項が緩和されており、より多くの DB2® 関数がサポートされています。 さまざまなベンダーのデータベース間または EJB デプロイメント・ツール間の移植性に問題がある場合は、 EJB 2.x 仕様の第 11 章の説明に厳密に従って、すべての EJB 照会言語の照会を慎重に作成してください。
  4. CMP 1.1 ファインダーについて、java.util.Enumeration ではなく、java.util.Collection を返します。
  5. CMP 1.1 Bean について、ejbCreate() およびコード内の他の場所にある this.field = value をすべて setField(value) に変更します。
  6. 以下のように、非アプリケーション例外についての例外処理 (ロールバック動作) を更新します。
    • 非アプリケーション例外を報告するために、 java.rmi.RemoteException ではなく、javax.ejb.EJBException をスローします。
    • EJB 2.x および 1.1 では、インスタンスがスローしたすべての非アプリケーション例外によって、 インスタンスが実行されたトランザクションがロールバックされ、 インスタンスは廃棄されます。
  7. 以下のように、アプリケーション例外についての例外処理 (ロールバック動作) を更新します。
    • EJB 2.x および 1.1 では、アプリケーション例外によって、 コンテナーがトランザクションを自動的にロールバックすることはありません。
    • EJB 1.1 では、コンテナーがロールバックを実行するのは、 インスタンスが EJBContext オブジェクトで setRollbackOnly() メソッドを使用して呼び出された場合のみです。
  8. アプリケーション固有のデフォルト値の CMP 設定を ejbCreate 内部に置くように更新します (EJB 1.1 コンテナーは ejbCreate を呼び出す前にすべてのフィールドを汎用デフォルト値に設定し、これにより、前のアプリケーション固有のデフォルトはすべて上書きされるため、グローバル変数は使用しないでください)。
トピックのタイプを示すアイコン タスクのトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: tejb1xto20.html