インバウンド通信用のJMSリソース・アダプタを構成するために次に示したチューニングの推奨事項およびベスト・プラクティスに注意してください。
JMSリソース・アダプタで分散宛先メンバーより多いスレッドが割り当てられていることを確認します。
トピックの使用時には、常にclientID
を構成します。JMSリソース・アダプタは、インバウンド・メッセージの処理時に、恒久サブスクライバまたは非恒久サブスクライバに対して構成されたclientId
を必要とする、SHARABLE
サブスクリプション共有ポリシーを使用します。
clientID
が設定されていない場合、MDBは、外部アプリケーション・サーバー・ログに記録されたメッセージおよびエラー条件を受信しません。
詳細は、JMSリソース・アダプタと共有可能なサブスクリプションを参照してください。
キューの場合、maxListenerThreads
の値を2つ以上のスレッドに増やすと、メッセージが消費される速度が向上する可能性があります。
JMSリソース・アダプタでは、共有可能な接続はサポートされていません。アプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml
およびejb-jar.xml
)の<resource-ref>
要素を使用して、そのアプリケーションでルックアップして使用されるJMS接続ファクトリを識別する場合、<res-sharing-scope>
子要素をunsharable
に設定する必要があります。この要素のデフォルト値はsharable
です。
次に例を示します。
. . .
<resource-ref>
<res-ref-name>jms/ReplyFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>unsharable</res-sharing-scope>
</resource-ref>
アプリケーションで@Resource
インジェクションが使用されている場合は、http://docs.oracle.com/javaee/7/api/javax/annotation/Resource.html#shareable--
を参照してください。