リスナーが、1 つのトランザクションで処理できるメッセージの最大数。
キューが空の場合、リスナーは、メッセージを受け取ると、各メッセージを処理します。
各メッセージは、個別のトランザクション内で処理されます。
WebSphere V5 のデフォルトのメッセージング・プロバイダーまたは JMS プロバイダーとしての WebSphere MQ の場合、キューにメッセージが累積し始めると、リスナーはメッセージのバッチ処理を開始することができます。
一般 JMS プロバイダーの場合、このプロパティー値は JMS プロバイダーに渡されますが、その効果は JMS プロバイダーによって異なります。
データ型 |
整数 |
単位 |
メッセージ数 |
デフォルト |
1 |
範囲 |
1 から 2147483647 |
推奨 |
WebSphere のデフォルトのメッセージング・プロバイダーまたは JMS プロバイダーとしての WebSphere MQ の場合、
単一トランザクションで複数のメッセージを処理するには、この値を 1 より大きく設定します。
メッセージがキューに累積し始めた場合、1 より大きい値にすると、複数のメッセージをバッチ処理して単一トランザクションにし、JMS メッセージのトランザクション・オーバーヘッドを低減できます。
注意:
- バッチ内の 1 つのメッセージが例外付き処理に失敗した場合、メッセージのバッチ全体は処理用キューに戻されます。
- 個々のメッセージごとの任意の対話によって保持されるすべてのリソース・ロックは、すべてのバッチ処理中は保持されます。
- XA トランザクションが使用されている場合に、メッセージが必要とする処理の量に応じて 1 より大きな値を設定すると、トランザクションがタイムアウトすることがあります。
複数のメッセージの処理がトランザクション・タイムアウトを超えるために日常的に XA トランザクションがタイムアウトする場合は、このプロパティーを 1 に減らすか (トランザクションごとに 1 つのメッセージに処理を限定する)、またはトランザクション・タイムアウトを増やします。
|