接続ファクトリ: 構成: 拡張構成
このページでは、このJMS接続ファクトリの拡張構成パラメータを定義します。
構成オプション
名前 説明 クライアントID このJMS接続ファクトリを使用するアプリケーションの任意指定のクライアントID。「クライアントIDポリシー」を
「制限付き」
(デフォルト)に設定した場合、接続ファクトリでクライアントIDを構成すると、このファクトリの接続が複数のJMSクライアントで使用されないようになります。この属性が構成されることは少ないので、通常はデフォルト(空白)のままにしておきます。JMSアプリケーション・プログラムで標準のJMS API
javax.jms.JMSContext.setClientID()
またはjavax.jms.Connection.setClientID()
を使用してクライアントIDを動的に設定できます。JMSアプリケーション・メッセージ処理コンテナ(たとえばMDB)は、通常、クライアントIDをコンテナ構成の一部として設定できるようにします。この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.ClientId
onMessage()でのclose()を許可
close()
またはstop()
メソッドをonMessage()
メソッド呼出し内で発行できるようにするメッセージ・コンシューマを、接続ファクトリで作成するかどうかを指定します。
カスタム接続ファクトリで選択(trueに設定)されている場合、
onMessage()
メソッド呼出しは、自身のSession、ConnectionおよびJMSContextオブジェクトに対してclose()
メソッドを、または自身のConnectionおよびJMSContextオブジェクトに対してstop()
呼出しを発行できます。falseの場合、これらの呼出しは例外をスローします。デフォルトのJMS接続ファクトリ(java:comp/DefaultJMSConnectionFactory、weblogic.jms.ConnectionFactory、またはweblogic.jms.XAConnectionFactory)では、このオプションはfalseに設定されており、変更できません。
ノート: メッセージ・リスナーの
onMessage()
メソッドを使用すると、AllowCloseInOnMessageがfalseに設定されていても、独自のMessageConsumerおよびJMSConsumer上でclose()
をコールできます。
この値は動的であり、いつでも変更可能です。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.AllowCloseInOnMessage
クライアント確認応答ポリシー
CLIENT_ACKNOWLEDGE
モードを使用する非トランザクション・セッションの確認応答ポリシー。「すべて」
は、メッセージの確認応答を呼び出すと、セッションで受信されたすべての未応答メッセージを確認応答することを示します。「前」
は、メッセージの確認応答を呼び出すと、そのメッセージを含む未応答メッセージのみを確認応答することを指定します。このパラメータはJMS仕様の変更の問題を回避し、非トランザクション・セッションに
CLIENT_ACKNOWLEDGE
確認応答モードを使用する実装に対してのみ適用されます。具体的に説明すると、この仕様では確認応答されるメッセージとその前のすべてのメッセージを確認応答できました。しかし、仕様の変更によって、任意のメッセージを確認応答すると受信済みのすべてのメッセージが確認応答されるようになりました(確認応答されるメッセージの後に受信したメッセージも含む)。
ACKNOWLEDGE_PREVIOUS
は、これまでの動作を保持します(確認応答されるメッセージとその前までのすべてのメッセージの確認応答)。一方、ACKNOWLEDGE_ALL
は、新しい動作をもたらします。どのメッセージが確認応答に影響を及ぼしているかにかかわらず、特定のセッションで受信されたすべてのメッセージが確認応答されます。この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.AcknowledgePolicy
マルチキャストでの超過時のポリシー 未処理のマルチキャスト・メッセージ数が「最大メッセージ数」で指定された値に達し、一部のメッセージを破棄する必要があるときに使用するポリシー。
- 新しいメッセージの保持
- 最新のメッセージが最も古いメッセージよりも優先され、必要に応じて、古いメッセージが破棄されることを示します。
- 古いメッセージの保持
- 最も古いメッセージが最新のメッセージよりも優先され、必要に応じて、最新のメッセージが破棄されることを示します。
メッセージの新旧は、
JMSTimestamp
の値ではなく受信の順序によって定義されます。この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.MulticastOverrunPolicy
ローカルJNDI名 再接続ポリシー サーバーとのネットワーク接続が失われた後、またはサーバーの再起動時に、明示的および暗黙的にリフレッシュされるJMSクライアントのタイプを指定します。たとえば、「プロデューサ」オプションを選択すると、JMSプロデューサが明示的にリフレッシュされ、関連するすべてのセッション・クライアントおよび接続クライアントが暗黙的にリフレッシュされます。
- なし
この接続ファクトリから派生するJMSクライアントをリフレッシュしません。
- プロデューサ
この接続ファクトリから派生するすべてのJMSプロデューサ・クライアントをリフレッシュします。このオプションでは、恒久サブスクライバの構成済みクライアントIDが付いたConsumers、QueueBrowsers、またはConnectionsはリフレッシュされません。
- すべて
恒久サブスクライバの構成済みクライアントIDが付いたConnectionsを含む、この接続ファクトリから派生するすべてのJMSコンシューマ・クライアントおよびプロデューサ・クライアントをリフレッシュします。このオプションでは、QueueBrowserクライアントはリフレッシュされません。
この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.ReconnectPolicy
再接続ブロッキング時間
producer.send()
、consumer.receive()
、session.createBrowser()
など、任意の同期JMS呼出しが、進行中のJMSクライアント再接続を放棄せずに、呼出しスレッドをブロックする最長時間(ミリ秒)。この属性は、Reconnect Policyオプションが「プロデューサ」または「すべて」に設定されている場合のみ、有効です。値が0の場合、同期JMS呼出しは進行中のどの再接続をも待機しません。値が -1の場合、再接続を無期限に待機します。
この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.ReconnectBlockingMillis
再接続の合計期間 最初のネットワーク切断、または最後の同期呼出しの試行のうち、いずれか最近に起こった方の後に、JMSクライアント(特に非同期コンシューマ)が、再試行を放棄せずサーバーに再接続しようとし続ける最長時間(ミリ秒)。
この属性は、ReconnectPolicy属性が「プロデューサ」または「すべて」に設定されている場合のみ、有効です。デフォルト値 -1は、再接続が無期限に試行され続けることを意味します。値0は、再試行が1度のみ行われることを意味します。
この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.TotalReconnectPeriodMillis
JMSXユーザーIDのアタッチ 送信メッセージに認証ユーザー名をアタッチするかどうかを指定します。
有効化すると、宛先でこの機能がサポートされている場合に送信メッセージに認証ユーザー名がアタッチされます。ユーザー名は、JMSXUserIDユーザー・プロパティに配置されます。この機能を使用する前に、WebLogic JMSプログラマーズ・ガイドのJMSXUserIDに関するドキュメントを参照してください。
この設定を動的に変更すると、変更後にこの接続ファクトリを使用して作成されたすべての接続が影響を受けます。
MBean属性(アプリケーション・モジュールには適用しない):
SecurityParamsBean.AttachJMSXUserId