同期メッセージが受信するタイムアウト (ミリ秒) は、非 ASF モードの操作でメッセージ指向の Bean リスナー・セッションによって実行されます。
このプロパティーは、アプリケーション・サーバー上のすべてのメッセージ指向 Bean リスナーに対して、
非 ASF モードの操作を使用可能にする場合にのみ、非ゼロの値に設定してください。
メッセージ・リスナー・サービスは、アプリケーション・サーバー・ファシリティー (ASF) および
非アプリケーション・サーバー・ファシリティー (非 ASF) という 2 つの操作モードを備えています。
- ASF モードの目的は、アプリケーションに、並行性およびトランザクションのサポートを提供することです。
パブリッシュ/サブスクライブ・メッセージ指向 Bean の場合には、ASF モードによって、
より良いスループットおよび並行性が得られます。これは、非 ASF モードでは、リスナーは単一スレッドになっているためです。
- 非 ASF モードは、JMS ASF をサポートしていないサード・パーティーのメッセージング・プロバイダーで主に使用します。JMS ASF は、JMS 仕様のオプションの拡張機能です。
非 ASF モードも、トランザクション指向です。ただし、パスの長さが ASF モードより短いため、通常はパフォーマンスが向上します。
次の場合は、非 ASF を使用してください。
- サード・パーティーのメッセージング・プロバイダーが JMS ASF をサポートしていない
- WebSphere® トピック接続の DIRECT ポートでメッセージ駆動型 Bean を使用している。
これは、そのポートを使用する組み込みパブリッシュ/サブスクライブ・ブローカーが、XA トランザクション
または JMS ASF をサポートしていないためです。
- メッセージ順序が厳密な要件である
データ型 |
整数 |
単位 |
ミリ秒 |
デフォルト |
ASF モード (カスタム・プロパティーは作成されません) |
範囲 |
0 以上のミリ秒
- 0
- 非 ASF モードは使用不可
- 1 以上
- 非 ASF メッセージ指向 Bean リスナー同期セッションが受信するタイムアウト (ミリ秒)
|
推奨 |
トランザクション・タイムアウトになると、メッセージを再生する必要があり、余分な作業が発生します。
非 ASF モードを使用する場合には、このプロパティーをトランザクション・タイムアウトよりも低く設定します。
ただし、メッセージ指向 Bean の onMessage() メソッドの最大所要時間は、最低でも残しておく必要があります。
例えば、ユーザーのメッセージ駆動型 Bean の onMessage() メソッドが、通常最大 10 秒必要で、
トランザクション・タイムアウトが 120 秒に設定されている場合には、NON.ASF.RECEIVE.TIMEOUT
プロパティーを 110000 (110000 ミリ秒、すなわち 110 秒) 以下に設定します。 |