6.2.6 RMWaitRestoration = Reliable Messaging開始時の復元完了待ち合わせの有無
〜<java.lang.Boolean>((true|false))《true》
キュー定義ファイルを使用しない場合に,Reliable Messagingを開始するときに非同期に実行する復元処理(DBに格納されているキュー情報を読み込みキューを復元すること)が完了するまで,Reliable Messagingの開始を待ち合わせるかどうかを指定します。
キュー定義ファイルを使用する場合,このプロパティは無視されます。
非永続版リソースアダプタの場合,Reliable Messagingの開始処理と復元処理を同期で実行しているためこのプロパティは使用しません。
このプロパティにtrueを指定した場合,復元処理の完了を待ち合わせてReliable Messagingを開始します。falseを指定した場合,復元処理の完了を待ち合わせないでReliable Messagingを開始します。
このプロパティにtrueを指定した場合,Reliable Messagingの開始を待ち合わせることにより,次のような影響があります。
-
Reliable Messagingとアプリケーションが開始している状態でApplication Serverを再起動したときに,DBからの復元処理に時間が掛かるとアプリケーションの開始処理の完了が遅くなります。
-
Application Serverが開始している状態で,Reliable Messagingを開始するときに,Reliable Messagingの復元処理に時間が掛かると,リソースアダプタの開始コマンドがタイムアウトすることがあります。
-
DBほか関連リソースにアクセスできないなど,Reliable Messagingが正常に開始完了(非閉塞状態で開始し,KFRM01009-Iメッセージが出力される)できない環境でReliable Messagingを開始すると,次のような現象が発生します。
表6‒2 Reliable Messagingを正常に開始完了できない環境で発生する現象 トランザクションサポートレベル
Reliable Messagingの開始時の環境
Application Server再起動の延長の場合
Application Server起動状態の場合
XATransaction
関連リソースに正常アクセスできるまで,またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで,Application Serverの開始処理が完了しません。
Reliable Messagingの開始処理が失敗します。
LocalTransaction,
NoTransaction
関連リソースに正常アクセスできるまで,またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで,Application Serverの開始処理が完了しません。
関連リソースに正常アクセスできるまで,またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで,Reliable Messagingの開始処理が完了しません。
Application ServerまたはReliable Messagingの開始を待っている状態で,開始処理を中断する場合は,cjstopsvコマンドに-fオプションを指定してJ2EEサーバを強制停止してください。cjstopsvコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」を参照してください。
このプロパティにfalseを指定した場合,タイミングによって次の現象が発生します。
-
Reliable Messagingを利用するアプリケーションがJNDIネーミングサービスからキューをルックアップするときに,ルックアップに失敗します(ただし,Message-driven Bean(MDB)を除きます)。なお,次の二つの条件を満たしている場合,アプリケーション開始時にキューのルックアップを実行します。
-
Stateless Session Beanでインスタンスプールの最小値が1以上である
-
ejbCreate()メソッド内でキューのルックアップ処理を実装,またはEJBのアノテーション機能によってキューを定義している
これらの条件を満たしている場合にキューのルックアップに失敗したときは,アプリケーションの開始が失敗しますので注意してください。
ルックアップについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」のJNDI名前空間とルックアップについての記述を参照してください。
Stateless Session Beanについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)」を参照してください。
アノテーション機能については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」を参照してください。
-
-
Reliable Messagingを利用するアプリケーションを開始するときに,表示名に対応したキュー名を正しく取得できずにエラーとなり,アプリケーションの開始に失敗します。
このプロパティは省略できます。