Interstage Application Server 移行ガイド |
目次
索引
![]() ![]() |
第4章 Interstage Application Server V6からの移行 |
本章では、以前のバージョン・レベルのEJBサービスからの移行について説明します。
Interstage Application Server V7.0以降では、EJBアプリケーションを配備する際、EJB規約に準拠しているかのチェックが緩和されています。
以下が、V7.0以降で運用可能となるEJB規約の制限です。
No |
Bean種別 |
チェック対象 |
チェック内容 |
1 |
Enterprise Beanクラス |
すべて |
ビジネスメソッドがstaticで定義されている。 |
2 |
Enterprise Beanクラス |
Entity Bean |
Enterprise Beanクラスに定義されているejbCreateメソッドの復帰値とdeproyment descriptorに設定されている<prim-key-class>は一致しているが、Enterprise Beanクラスの親のクラスに定義されているejbCreateメソッドの復帰値が<prim-key-class>と一致しない。 |
3 |
Enterprise Beanクラス |
BMP Entity Bean |
Enterprise Beanクラスに定義されているejbFind<〜>メソッドのthrows句にある例外が、Homeインタフェースに定義されているfind<〜>のthrows句にない。 |
4 |
Enterprise Beanクラス |
Message-driven Bean |
ejbCreateメソッドのthrows句にjavax.ejb.CreateExceptionがある。 |
5 |
Enterprise Beanクラス |
CMP2.0 Entity Bean |
ejbCreateメソッドのthrows句にjavax.ejb.CreateExceptionがない。 |
6 |
Primary Keyクラス |
CMP Entity Bean |
deployment descriptorに<primkey-field>が指定されておらず、Primary Keyクラスにpublicではないフィールドがある。 |
7 |
Primary Keyクラス |
CMP Entity Bean |
deployment descriptorに<primkey-field>が指定されておらず、<cmp-field>にないフィールドがPrimary Keyクラスに定義されている。 |
8 |
Homeインタフェース |
Session Bean |
createメソッドのthrows句にjavax.ejb.CreateExceptionがない。 |
9 |
deployment descriptor |
CMP2.0 Entity Bean |
<multiplicity>に“one”または“many”を指定している。 |
無通信監視時間のデフォルト値が、30分に変更になりました。30分以上、STATEFUL Session Beanにアクセスしないアプリケーション構成の場合は、以下のエラーが発生する可能性があるため、無通信監視時間を大きく設定してください。
java.rmi.NoSuchObjectException: CORBA OBJECT_NOT_EXIST 0 No; nested |
無通信監視時間は、Interstage管理コンソールの[ワークユニット] > [IJServer名] > [EJBアプリケーション]からSTATEFUL Session Beanを選択して、Interstage拡張情報の“無通信監視時間”に設定してください。
V6互換用のIJServerに配備したSTATEFUL Session Beanのデフォルト値は、以下のとおりです。
プラットフォーム/製品 |
デフォルト値 |
Windows(R) |
600秒(10分) |
上記以外 |
0秒(時間監視しない) |
Interstage Application Server V7.0より、Entity Beanの復帰値Collection型finderメソッドを実行して取得したjava.util.Collectionオブジェクトに対して、java.util.Collectionインターフェースに定義されているすべてのメソッドが使用可能となりました。
CMP1.1およびBMPで使用する場合には、以下の条件があります。以下の条件で使用しない場合は、V6.0以前の範囲になります。CMP2.0では無条件に使用できます。
Interstage Application ServerでTrafficDirectorと連携する場合、V6.0ではEJBアプリケーションを配備した後に、配備したアプリケーションごとにオブジェクトリファレンスの再登録(オブジェクトリファレンスの確認/削除/再登録)が必要でした。
V7.0以降ではIJServerに負荷分散ホスト名を指定するだけで、EJBアプリケーションの配備時に自動的に環境設定を行いますので、EJBアプリケーションごとの操作は不要です。また、配備済みのEJBアプリケーションに対して、「IJServerの環境設定」の内容を更新をするだけで環境設定ができます。
IJServer単位で設定した場合には、非互換はありません。
EJBアプリケーションごとにTrafficDirectorと連携する場合、V6.0と同様にCORBAサービスのコマンドを使用して、アプリケーションの配備後にオブジェクトリファレンスを再登録する手順で設定を行ってください。
************************************************************************* Name(Type) Object information(detail) Default object information(detail) EasyBean(o) RMI:pkgTest.EasyBeanHome:0000000000000000, (a) (b) IDL:com.fujitsu.interstage.j2ee.ijserver/IJServer001:1.0, (march:8002:1.1:UNICODE(UCS2)) (c) ************************************************************************* a) EJBアプリケーション名 b) インタフェースリポジトリ名 c) インプリメンテーションリポジトリ名
OD_or_adm -d -n [EJBアプリケーション名] |
> OD_or_adm -c [インタフェースリポジトリID] -a [インプリメンテーションリポジトリID] -h [仮想IPアドレスのホスト名] -n [アプリケーション名] -p [ポート番号] |
> OD_or_adm -c RMI:pkgTest.EasyBeanHome:0000000000000000 -a IDL:com.fujitsu.interstage.j2ee.ijserver/IJServer001:1.0 -h vhost -p 8002 -n EJB001 (vhostは、仮想IPアドレス) |
オブジェクトリファレンスの再登録後、Interstage管理コンソールの[ワークユニット] > [IJServer名] > [環境設定]からIJServerの更新を行った場合には、再度オブジェクトリファレンスの再登録を行ってください。
Interstage Application Server V7.0以降でEJB QLを使用する場合、デフォルトでV6.0のEJB QLの機能を拡張したEJB QL拡張が設定されています。
拡張機能を使用しない(EJB2.0規約の範囲内で運用する)場合は、Interstage管理コンソールの[システム] > [環境設定] の 詳細設定の下にある[EJBサービス詳細設定] を参照し、“CMP2.0のEJB QL拡張”の定義項目を“使用しない”に変更してください。
EJB QL拡張を使用しない場合、以下の拡張機能が制限されます。
Interstage V7.0以降では、セションタイムアウト機能、トランザクションタイムアウト機能は使用できません。
これらの機能は、Interstage V6.0以前では非推奨機能であり旧資産との互換は保証されているため、代替機能への移行を推奨します。代替機能への移行方法については、非推奨機能を参照してください。
1つのIJServerに同じJNDI名のEJBアプリケーションが配備されないように、EJBアプリケーション名の重複チェックを行います。
IJServerのタイプが「WebアプリケーションとEJBアプリケーションを同一JavaVMで運用」の場合、V6.0では異なるモジュールでも上書きしていましたが、V7.0以降ではモジュールが異なる場合に上書きを行わないようチェックを行います。
以下の条件を満たす場合、リトライ回数を超過してもメッセージ受信を繰り返す可能性があります。
Point-To-Pointメッセージングモデル:1受信者だけにメッセージを配信するモデル
イベントチャネルのイベントデータをメモリにキャッシュする数を、イベントチャネルに蓄積できるイベントデータの最大値よりも大きく設定してください。
設定はイベントサービス運用コマンドを使用して行います。詳細は“リファレンスマニュアル(コマンド編)”の“essetcnf”および“essetcnfchnl”を参照してください。
Point-To-Pointメッセージングモデルを利用する場合、以下の非互換があります。
上記に該当する場合は、以下の互換オプションを設定して運用してください。ただし、互換オプションを設定した場合、JMSが受信したメッセージは同時に処理されません。
/opt/FJSVejb/etc/FJEJBconfig.properties
MDB_ReciveType=reciver
Interstage Application Server 8.0では、アプリケーションファイルの権限を指定する機能がサポートされたため、以下のコマンドはアプリケーションファイル保護レベルで指定したユーザで使用してください。
アプリケーションファイル保護レベルについては、“J2EEユーザズガイド”の“J2EEアプリケーションの配備と設定”を参照してください。
目次
索引
![]() ![]() |