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 ファインダー・メソッドについては、各ファインダー・メソッドごとに EJBQL (EJB 照会言語) メソッドを作成します。
    注: Rational® Application Developer V6.0 では、 EJB 照会言語に以下の制限があります。
    • 他の EJB へのリレーションで構成されたキーを持つ EJB を使用する EJB 照会言語による照会は 無効とされ、デプロイメント時にエラーが発生します。
    • IBM® EJB 照会言語サポートはいくつかの制限を緩和したり、 DB2® 機能を さらに追加するなど、さまざまな方法で EJB 2.x 仕様を拡張します。各種ベンダー・データベース間や 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. ejbCreate 内のアプリケーション固有のデフォルト値の CMP 設定をすべて更新します (EJB 1.1 コンテナーは前のアプリケーション固有のデフォルトを上書きする ejbCreate を呼び出す前にすべてのフィールドを汎用のデフォルト値に 設定してしまうため、グローバル変数を使用しないで行います)。

親トピック: Enterprise JavaBeans プロジェクトのマイグレーション (EJB 1.1 から EJB 2.1)

前のトピック: EJB 1.1 から EJB 2.x へのプロジェクトの変換
次のトピック: EJB 1.1 リレーション用の EJB 参照のマイグレーション

関連タスク
Enterprise JavaBeans プロジェクトのマイグレーション (EJB 1.1 から EJB 2.1)
EJB 1.1 から EJB 2.x へのプロジェクトの変換
EJB 1.1 リレーション用の EJB 参照のマイグレーション

関連資料
プロジェクト構造のマイグレーション中にマージされるメソッド・エレメント