サービス統合のカスタム・プロパティー
カスタム・プロパティーを使用して、メッセージング・エンジンなどの サービス統合オブジェクトの拡張設定を構成します。
- sib.msgstore.cachedDataBufferSize
- sib.msgstore.discardableDataBufferSize
- sib.msgstore.jdbcFailoverOnDBConnectionLoss
- sib.msgstore.jdbcInitialDatasourceWaitTimeout
- sib.msgstore.jdbcResAuthForConnections
- sib.msgstore.jdbcStaleConnectionRetryDelay
- sib.meEnableInstanceOnFailure
- sib.processor.maxReconstituteThreadpoolSize
- sib.msgstore.storeFullWaitForCheckPoint
- sib.msgstore.transactionSendLimit
sib.ra.zosMessageLockTimeout
- sib.trm.retry
- sib.wsrm.tokenLockTimeout
sib.msgstore.cachedDataBufferSize
メッセージング・エンジンが使用するデータ・バッファーのバイト単位のサイズです。 このバッファーには、「サービスの品質」属性がベスト・エフォート非パーシスタントより良く、かつ、データ・ストアに保持されているデータが格納されます。 このデフォルト値は、320000 で、約 320 キロバイトです。
キャッシュ・データ・バッファーの 目的は、キャッシングしなければメッセージング・エンジンが データ・ストアから読み込まなければならない可能性のあるデータを、 メモリーにキャッシングすることで、メッセージング・エンジン のパフォーマンスを最適化することです。データをデータ・ストアに書き込み、データ・ストアから読み取るときに、メッセージング・エンジンは そのデータをキャッシュ・データ・バッファーに追加しようとします。メッセージング・エンジンはスペースを空けるため、既にバッファー内にあるデータを破棄する可能性があります。
データ型 | デフォルト |
---|---|
バイト | 40000000 |
sib.msgstore.discardableDataBufferSize
「サービスの品質」属性がベスト・エフォート非パーシスタントであるデータを格納するためにメッセージング・エンジンが使用するデータ・バッファーのバイト単位のサイズです。 このデフォルト値は、320000 で、約 320 キロバイトです。
廃棄可能なデータ・バッファーには、「サービスの品質」属性がベスト・エフォート非パーシスタントであるすべてのデータが格納されます。 このデータには、アクティブ・トランザクションに関係するデータと、メッセージング・エンジンが廃棄もコンシュームもしなかった、その他のベスト・エフォート非パーシスタント・データの両方が含まれています。 メッセージング・エンジンはこのデータ全体をこのメモリー・バッファー内に保持し、このデータをデータ・ストアに書き込むことはありません。 メッセージング・エンジンが廃棄可能なデータ・バッファーにデータを追加すると (例えば、 メッセージング・エンジンがクライアントからベスト・エフォート非パーシスタント・メッセージを受信すると)、 メッセージング・エンジンは、スペースを空けるためにバッファー内の既存データを廃棄することがあります。 メッセージング・エンジンはアクティブ・トランザクションに関係のないデータだけを廃棄することができます。この動作により、メッセージング・エンジンはベスト・エフォート非パーシスタント・メッセージを破棄できるようになります。
廃棄可能なデータ・バッファーのサイズを増やすと、メッセージング・エンジンがメッセージの廃棄を開始する前に、より多くのベスト・エフォート非パーシスタント・データが処理されるようになります。
アクティブ・トランザクションに関係のないデータすべての廃棄後に、十分なスペースがないときに、メッセージング・エンジンが廃棄可能なデータ・バッファーにデータを追加しようとした場合、メッセージング・エンジンは com.ibm.ws.sib.msgstore.OutOfCacheSpace 例外をスローします。クライアント・アプリケーションは、javax.jms.JMSException のような API 固有例外にラップされたこの例外をキャッチすることができます。
データ型 | デフォルト |
---|---|
バイト | 1280000 |
sib.msgstore.jdbcFailoverOnDBConnectionLoss
データ・ストアへの接続が失われている場合のメッセージング・エンジンとそのホスティング・サーバーの動作を決定するプロパティー。
プロパティー値 | データ・ストア接続が失われている場合の動作 |
---|---|
true (デフォルト) |
HA マネージャーは、次のコア・グループ・サービスの「稼働」検査が実行されるときに、メッセージング・エンジンとそのホスティング・アプリケーション・サーバーを停止します (デフォルト値は 120 秒です)。
ノード・エージェントがサーバーをモニターしており、サーバーのモニター・ポリシーで自動再始動を有効にしている場合、サーバーは再始動します。
メッセージング・エンジンは、該当のサーバーが使用可能であるときに始動します。
注: 保証パーシスタントより低い信頼性レベルのメッセージは、「稼働」検査中にメッセージング・エンジンにより受け入れられ、失われる可能性があります。
|
false | メッセージング・エンジンは実行と処理の受け入れを続行し、データ・ストアへの接続の再開を定期的に試行します。 データ・ストアが使用不可である間にメッセージング・エンジンに対して処理がサブミットされ続けた場合、結果は予測できず、データ・ストア接続が復元されても、メッセージング・エンジンは不整合な状態である可能性があります。 注: メッセージング・エンジンに対して処理がサブミットされ続けた場合、非パーシスタント・メッセージングであっても失敗する可能性があります。これは例えば固有 ID をメッセージに割り当てたり、非パーシスタント・メッセージをメモリーから移動させたりするために、メッセージング・エンジンがデータ・ストアを使用することが必要になる場合があるからです。
|
sib.msgstore.jdbcInitialDatasourceWaitTimeout
データ・ストアが使用可能になるのを待機する、ミリ秒単位の時間。 この時間には、データベースへの接続を確立し、必要なテーブル・ロックを取得するために必要な時間が含まれます。
データ型 | デフォルト |
---|---|
ミリ秒 | 900000 (15 分) |
sib.msgstore.jdbcResAuthForConnections
接続共有時に使用される、メッセージング・エンジンのリソース許可の仕組み。 デフォルト値はコンテナーです。
データ型 | デフォルト |
---|---|
ストリング | コンテナー |
sib.msgstore.jdbcStaleConnectionRetryDelay
データ・ストアへの接続試行の間に待機する、ミリ秒単位の時間。
例えば、sib.msgstore.jdbcInitialDatasourceWaitTimeout プロパティーを 600000 に、sib.msgstore.jdbcStaleConnectionRetryDelay プロパティーを 3000 にそれぞれ設定した場合、メッセージング・エンジンは 10 分間にわたり 3 秒おきに接続を試行します。
通知 | 値 |
---|---|
データ型 | ミリ秒 |
デフォルト | 2000 (2 秒) |
sib.meEnableInstanceOnFailure
このプロパティーは、使用不可のメッセージング・エンジンがデータ・ストアへの接続を失う場合に、自動的に再度使用可能にする必要があるかどうかを決定します。
例えば、sib.meEnableInstanceOnFailure プロパティー値を true に設定した場合、使用不可のメッセージング・エンジンは、自らを 30 秒後に使用可能にしようとします。
通知 | 値 |
---|---|
データ型 | ブール |
デフォルト | true |
sib.processor.maxReconstituteThreadpoolSize
メッセージング・エンジンの開始時に、同時に宛先をロードするために使用されるスレッド数を指定します。 複数のスレッドによる複数の並行読み取りがデータベースでサポートされていない場合は、 プロパティー値に 1 を設定して、スレッド間の競合を回避することができます。
通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | システムに存在するコアの数。 |
sib.msgstore.storeFullWaitForCheckPoint
この プロパティーは、ファイル・ストアがいっぱいであるにもかかわらず アプリケーションがさらにメッセージ送信を試行した時に、 メッセージング・エンジンが行うアクションを決定します。
ファイル・ストアが いっぱいになると、メッセージング・エンジンは、ログ・ファイルのチェックポイントを 実行して、最後のチェックポイント以降のすべてのメッセージ送受信の 整合性を確認します。 このプロセスは、完了までに若干の時間がかかる場合があります。 ファイル・ストアがいっぱいになった時点からチェックポイントが完了する時点の 間にアプリケーションがメッセージ送信を試行すると、メッセージング・ エンジンは例外 ObjectStoreFullException をスローし、メッセージ CWSOM1042E を 発行します。
メッセージを送信するアプリケーション・スレッドにより ファイル・ストアがいっぱいであると判明した場合、このスレッドは チェックポイントを要求します。デフォルト動作 (プロパティー値は false に設定されています) では、 アプリケーション・スレッドは、次に、例外 ObjectStoreFullException をアプリケーションに即時に スローして戻ります。プロパティー値を true に設定して他の動作を選択することも できます。このプロパティー値の場合、アプリケーション・スレッドは例外を スローしませんが、チェックポイントが完了するまで待機します。 チェックポイントがファイル・ストアのスペースを解放すると、 アプリケーション・スレッドは引き続きメッセージ送信を行い、その後 戻ります。チェックポイント後もファイル・ストアがまだいっぱいである 場合、アプリケーション・スレッドはアプリケーションに例外をスローします。
プロパティー値を true に設定し、チェックポイントが完了するまで アプリケーション・スレッドを待機させ、アプリケーションがファイル・ストア内の メッセージをすべて削除すると、そこでアプリケーション・スレッドはファイル・ストアが もういっぱいでなくなったことを論理的に認識します。 アプリケーションは、チェックポイントが完了するまで引き続き待機していなければ なりませんが、チェックポイントの実行中は例外を受け取ることがなく、送信を再試行する 必要がありません。
通知 | 値 |
---|---|
データ型 | ブール |
デフォルト | False |
sib.msgstore.transactionSendLimit
メッセージング・エンジンが各トランザクションに含めるオペレーションの最大数。例えば、各 JMS の送信または受信は、トランザクション送信制限に従ってカウントされるオペレーションです。デフォルト値は 100 です。
データ型 | デフォルト |
---|---|
整数 | 100 |
![[z/OS]](../images/ngzos.gif)
sib.ra.zosMessageLockTimeout
メッセージがメッセージ駆動型 Bean への送達のために Workload management (WLM) for z/OS® にサブミットされた後、そのメッセージがメッセージング・エンジンでロックされる秒数。
WLM はメッセージをサーバント領域に割り振り、ここでメッセージング・エンジンへの接続を作成します。 その後、サーバント領域はメッセージを消費し、それをメッセージ駆動型 Bean の onMessage メソッドに渡します。
サーバント領域がメッセージング・エンジンに接続できず、メッセージをメッセージ駆動型 Bean に渡す前に消費できない場合、タイムアウト値に達するまでメッセージはロックされた状態になります。 タイムアウトに達すると、メッセージはアンロックされ、送達が再試行されます。
アプリケーション・サーバーの始動中に、メッセージング・エンジンへの接続に必要なインフラストラクチャーが使用可能になる前に、WLM がメッセージをサーバント領域に送達する場合、サーバント領域はメッセージング・エンジンに接続できない可能性があります。 このタイプの接続の失敗は、サーバント領域のジョブ・ログの CWSIV1052W エントリーで示されます。 ジョブ・ログにそうしたエントリーが表示されており、そのときメッセージをロックしている場合、このプロパティーを使用してメッセージ・ロック・タイムアウトを短くすることを考慮してください。
データ型 | デフォルト |
---|---|
秒 | 300 |
sib.trm.retry
メッセージング・エンジン間の接続における秒単位の再試行間隔です。再試行間隔とは、通信相手の隣接メッセージング・エンジンに接続しようとするある試行操作から次の試行操作までの残り遅延時間のことです。デフォルトの再試行間隔は 30 秒です。
データ型 | デフォルト |
---|---|
秒 | 30 |
sib.wsrm.tokenLockTimeout
この プロパティーは、WS-ReliableMessaging が管理するサービスの品質に影響を与えます。このプロパティーを、WS-ReliableMessaging アプリケーションの ポリシー・バインディングに指定されたメッセージング・エンジンに設定します。
このプロパティーは、WS-ReliableMessaging メッセージに 対してロックが保持される時間 (ミリ秒) です。メッセージの処理中にサーバーが失敗した 場合、ロックはこのタイムアウト時間の終わりに解放されるため、他のサーバーは処理を続行 できます。タイムアウト時間が終了する前に元のサーバーがリカバリーした場合、 このサーバーがメッセージの処理を続行します。ロックは、メッセージがまだ処理中であっても タイムアウト時間の終わりに解放されます。
システムが大容量のメッセージを処理している場合は、このプロパティーの 値を増やすこともできます。例えば、あるメッセージの処理に 12 分かかる場合、 処理が完了する 2 分前にロックが解放されます。 この状況を回避するには、このプロパティーを 12 分より大きい値に 変更します。
システムが小容量のメッセージを処理している場合は、 このプロパティーの値を減らすこともできます。これにより、障害が発生した場合に ロックがより早く解放され、他のサーバーが遅延なく処理を続行することができます。
![[z/OS]](../images/ngzos.gif)
メッセージの処理中にサーバント領域が異常終了した場合、制御領域が 新規サーバント領域を開始します。新規サーバント領域は、メッセージの処理を 続行できるようになるまでメッセージのロックの解放待ちをする必要があります。 サーバント領域の非アクティブ状態が長過ぎると、制御領域はこのサーバント領域を 終了し、別のサーバント領域を開始します。 さらに、サーバント領域によるメッセージの処理が長時間になると、 制御領域はこのサーバント領域が非アクティブであると判断し、これを 終了します。
制御領域がサーバント領域を終了するまでこのサーバント領域が非アクティブで いられる時間は、control_region_wlm_dispatch_timeout プロパティーなどのさまざまな タイムアウトの影響を受けます。ご使用のシステム構成を調べて、そのシステムに 適した時間を判別してください。
制御領域がメッセージの処理が完了する前にサーバント領域を終了するのを回避するには、 トークン・ロック・タイムアウト・プロパティーの値をサーバント領域が非アクティブで いられる時間よりも小さく設定してください。
通知 | 値 |
---|---|
データ型 | ミリ秒 |
デフォルト | 600000 (10 分) |