Sun Java System Application Server Enterprise Edition 8.2 アップグレードと移行

ProcedureBean を移行できるかどうか検証する

  1. ejb-jar.xml ファイルから <cmp-fields> 名に移動し、オプションのタグ <prim-key-field>ejb-jar.xml ファイル内に存在していて、指定された値が設定されているかどうかをチェックします。オプションのタグが存在し、値が設定されていれば、次の手順に進みます。

    ejb-jar.xml 内で <prim-key-class> のフィールド名を検索し、クラス名を取得して、そのクラス内で宣言されている public instance variables を取得します。次に、これらの変数の署名 (名前と大文字/小文字の区別) が上記の <cmp-field> 名に一致するかどうか確認します。見つかった変数を分離します。これらの分離されたフィールドで、大文字で始まっているものがないかどうかチェックします。ある場合は移行できません。

  2. Bean クラスのソースコードを調べて、すべての <cmp-field> 変数の Java の型を取得します。

  3. すべての <cmp-field> 名を小文字に変更し、これらの名前からアクセサを構築します。たとえば、元のフィールド名が Name で、その Java 型が String である場合、アクセス用メソッド署名は次のようになります。

    Public void setName(String name)Public String getName()

  4. これらのアクセス用メソッド署名を、Bean クラス内のメソッド署名と比較します。完全に一致する組み合わせが見つかった場合、移行は実行できません。

  5. カスタム検索メソッドの署名とそれに対応する SQL を取得します。SQL 内に Join、Outer join、または OrderBy が存在するかどうかチェックします。存在する場合は移行できません。EJB QL は Join、Outer join、orOrderBy をサポートしていないからです。

  6. java.util.Enumeration を使用していたすべての CMP 1.1 ファインダが、java.util.Collection を使用する必要があります。これを反映するようにコードを変更してください。CMP2.0 ファインダは java.util.Enumeration を返すことができません。

    実際の移行プロセスの実行方法については、「Bean クラスの移行」を参照してください。