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 参照のマイグレーション
関連資料
メソッド・エレメントはプロジェクト構造のマイグレーション中にマージされる
ご利用条 件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.