ファイル・ストアがフルの場合のメッセージ・エンジン動作の選択
ファイル・ストアがフルである場合に、アプリケーションがさらにメッセージを送信しようとしたときにメッセージ・エンジンが実行するアクションを指定できます。 チェックポイントが完了するまでアプリケーション・スレッドが待機するようにするか、または直ちに例外をスローするようにできます。
このタスクについて
ファイル・ストアがフルの場合、メッセージング・エンジンはログ・ファイルのチェックポイントを実行し、最終チェックポイント以降のすべてのメッセージ送受信を調整します。このプロセスは、完了までに若干の時間がかかる場合があります。 ファイル・ストアがフルになった時点から、チェックポイントが完了する時点までの間に、アプリケーションがメッセージを送信しようとすると、メッセージ・エンジンは例外 ObjectStoreFullException をスローし、メッセージ CWSOM1042E を発行します。
メッセージを送信するアプリケーション・スレッドにより ファイル・ストアがいっぱいであると判明した場合、このスレッドは チェックポイントを要求します。デフォルトの動作では、この直後にアプリケーション・スレッドがアプリケーションに例外 ObjectStoreFullException をスローします。アプリケーション・スレッドが例外をスローせずに、チェックポイントが完了するまで待機する動作を代わりに選択することもできます。チェックポイントによって ファイル・ストアのスペースが解放されると、アプリケーション・スレッドが次の処理に進み、 メッセージを送信してから戻ります。 チェックポイント後も依然としてファイル・ストアがフルの場合、アプリケーション・スレッドがアプリケーションに例外をスローします。
アプリケーションがファイル・ストア内のすべてのメッセージを削除する場合にアプリケーション・スレッドが待機するようにします。これにより、アプリケーション・スレッドはファイル・ストアがフルではないことを論理的に認識できます。この場合でもアプリケーションは チェックポイントが完了するまで待機しますが、 チェックポイントの実行中に例外を受け取ることはなく、 送信を再試行する必要もありません。
ファイル・ストアがフルの場合の動作を変更するには、管理コンソールからプロパティー sib.msgstore.storeFullWaitForCheckPoint の値を次のように設定します。
手順
- ナビゲーション・ペインで、「 」をクリックします。
- プロパティー名 sib.msgstore.storeFullWaitForCheckPoint を入力します。
- チェックポイントが完了するまでアプリケーション・スレッドが待機し、その後戻るようにするため、値 true を入力します。 デフォルト値 false では、アプリケーション・スレッドがチェックポイントの要求直後に例外 ObjectStoreFullException をスローします。
- 「OK」をクリックします。
- 変更をマスター構成に保存します。