以下の情報は主に、現時点で Enterprise JavaBeans (EJB) 仕様のバージョン 1.0 に
準拠しているすべての Enterprise Bean に適用されます。
このタスクについて
Rational Application Developer で生成された Bean 用コードのマイグレーションについて詳しくは、
当該製品の資料を参照してください。
コードの一般的なマイグレーションに関する詳細は、「学習用リソース」を参照してください。
プロシージャー
- セッション Bean で、
javax.jts.UserTransaction とある箇所をすべて javax.transaction.UserTransaction で置き換えます。
エンティティー Bean では、UserTransaction インターフェースはもう使用されなくなる可能性があります。
- エンティティー Bean のファインダー・メソッドでは、
throws 文節に FinderException を組み込みます。
- java.rmi.RemoteException をスローする箇所を取り除き、
javax.ejb.EJBException をスローさせます。
ただし、リモート・メソッド呼び出し (RMI) の使用により必要に応じて、
RemoteException を、ホームおよびリモート・インターフェースの throws 文節に引き続き組み込んでください。
- finalize() メソッドの使用箇所を除去します。
- getCallerIdentity() への呼び出しを getCallerPrincipal() への呼び出しで置き換えます。
getCallerIdentity() の使用は推奨できません。
- isCallerInRole(Identity) への呼び出しを isCallerinRole(String) への呼び出しで置き換えます。
isCallerInRole(Identity) および java.security.Identity の使用は推奨できません。
- JNDI 検索を優先して、getEnvironment() への呼び出しを置き換えます。
例えば、以下のコードを変更します。
String homeName =
aLink.getEntityContext().getEnvironment().getProperty("TARGET_HOME_NAME");
if (homeName == null) homeName = "TARGET_HOME_NAME";
更新されたコードは、以下のようになります。
Context env = (Context)(new InitialContext()).lookup("java:comp/env");
String homeName = (String)env.lookup("ejb10-properties/TARGET_HOME_NAME");
- コンテナー管理パーシスタンス (CMP) を持つエンティティー Bean の ejbCreate メソッドでは、
void の代わりに Bean の 1 次キー・クラスを戻します。
- ホーム・インターフェースに getHomeHandle() メソッドを追加します。
public javax.ejb.HomeHandle getHomeHandle() {return null;}
次の作業
仕様内の以下の変更に合った拡張を検討してください。
- エンティティー Bean の 1 次キーは java.lang.String タイプにできます。
- エンティティー Bean のファインダー・メソッドは java.util.Collection を戻します。
- 使用中のすべての JNDI 名のフォーマットを検査します。
ローカル・ネーム・スペースもサポートされています。
- セキュリティーは役割で定義され、分離レベルは Bean レベルではなくメソッド・レベルで定義されます。