管理コンソール・オンライン・ヘルプ

前 次 新規ウィンドウで目次を開く
ここから内容の開始

JMS接続ファクトリ

列の表示     関連タスク     関連トピック

接続ファクトリは、JMSクライアントで接続を作成するために使用します。接続ファクトリは同時使用が可能で、複数のスレッドで同時にアクセスすることができます。1つまたは複数の接続ファクトリを構成すると、定義済みパラメータを使用して接続を作成し、その接続をJMSに戻すことができます。定義済みパラメータでは、メッセージに優先度が明示的に定義されていない場合に使用するデフォルトの優先度などが指定されます。

このページでは、このJMSモジュール用に作成されたJMS接続ファクトリの概要を示します。

列の表示

この表のカスタマイズ」を展開して「列の表示」リストを変更すると、このページに表示されるデータ・ポイントを減らしたり増やしたりできます。それぞれのデータ・ポイントは各自の表列に表示されます。

次の表に、このページの列に表示できるすべてのデータ・ポイントを記載します。

名前 説明
名前

このJMS接続ファクトリの名前。

MBean属性:
WebLogicMBean.Name

変更は、モジュールの再デプロイ後またはサーバーの再起動後に有効になります。

JNDI名
クライアントID

このJMS接続ファクトリを使用する恒久サブスクライバの任意指定のクライアントID。接続ファクトリでこの値を構成すると、このファクトリの接続が複数のJMSクライアントで使用されないようになります。通常、JMS恒久サブスクライバ・アプリケーションはそのクライアントIDをjavax.jms.Connection.setClientID()呼出しを使用して動的に設定します。

MBean属性:
JMSConnectionFactoryMBean.ClientId

デフォルト優先度

メッセージに優先度が明示的に定義されていない場合に使用するデフォルトの優先度。

このファクトリで作成された接続で生成され、DefaultPriorityに -1が指定されているすべてのメッセージは、この値を受け取ります。javax.jms.MessageProducer.getPriority()メソッドを呼び出すと、メッセージ・プロデューサは明示的に優先度を取得できます。

この属性は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性(アプリケーション・モジュールには適用しない):
DefaultDeliveryParamsBean.DefaultPriority

最小値: 0

最大値: 9

デフォルト存続時間

メッセージの最大存在時間を示すミリ秒数。この値は、この接続ファクトリを使用する送信側のアプリケーションでtime-to-liveが明示的に設定されない場合およびtime-to-liveが宛先のTimeToLiveOverride属性によって明示的にオーバーライドされない場合に使用されます。値0は、メッセージが無期限に存続することを示します。

メッセージ・プロデューサ・アプリケーションでは、標準のJMS javax.jms.MessageProducer.setTimeToLive(long)メソッドを呼び出すことにより、time-to-liveを明示的に設定できます。javax.jms.Message.setJMSExpiration()を使用してプログラムからtime-to-liveを設定しても効果はありません。JMS仕様に従って、メッセージ・セッターはJMS送信呼出しで無視されます。

この属性は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性(アプリケーション・モジュールには適用しない):
DefaultDeliveryParamsBean.DefaultTimeToLive

最小値: 0

最大値: 9223372036854775807

デフォルト再配信遅延

ロールバックまたは回復されたメッセージが再配信されるまでの遅延時間(ミリ秒)。

このファクトリで作成されたコンシューマによって消費され、DefaultRedeliveryDelayに -1が指定されているすべてのメッセージは、この値を使用します。

weblogic.jms.extensions.WLSession.getRedliveryDelay()メソッドを呼び出すと、メッセージ・コンシューマは明示的に再配信遅延時間を取得できます。

この属性は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性(アプリケーション・モジュールには適用しない):
DefaultDeliveryParamsBean.DefaultRedeliveryDelay

最小値: 0

最大値: 9223372036854775807

確認応答ポリシー

CLIENT_ACKNOWLEDGEモードを使用する非トランザクション・セッションの確認応答ポリシー。「すべて」は、メッセージの確認応答を呼び出すと、セッションで受信されたすべての未応答メッセージを確認応答することを示します。「前」は、メッセージの確認応答を呼び出すと、そのメッセージを含む未応答メッセージのみを確認応答することを指定します。

このパラメータはJMS仕様の変更の問題を回避し、非トランザクション・セッションにCLIENT_ACKNOWLEDGE確認応答モードを使用する実装に対してのみ適用されます。具体的に説明すると、この仕様では確認応答されるメッセージとその前のすべてのメッセージを確認応答できました。しかし、仕様の変更によって、任意のメッセージを確認応答すると受信済みのすべてのメッセージが確認応答されるようになりました(確認応答されるメッセージの後に受信したメッセージも含む)。

ACKNOWLEDGE_PREVIOUSは、これまでの動作を保持します(確認応答されるメッセージとその前までのすべてのメッセージの確認応答)。一方、ACKNOWLEDGE_ALLは、新しい動作をもたらします。どのメッセージが確認応答に影響を及ぼしているかにかかわらず、特定のセッションで受信されたすべてのメッセージが確認応答されます。

この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性(アプリケーション・モジュールには適用しない):
ClientParamsBean.AcknowledgePolicy

onMessage()でのcloseを許可

close()またはstop()メソッドをonMessage()メソッド呼出し内で発行できるようにするメッセージ・コンシューマを、接続ファクトリで作成するかどうかを指定します。

  • カスタム接続ファクトリで選択(trueに設定)されている場合、onMessage()メソッド呼出しは、自身のSession、ConnectionおよびJMSContexオブジェクトに対して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

デフォルト配信モード

この接続ファクトリを使用してプロデューサから送信されるすべてのメッセージに割り当てられる配信モード。

javax.jms.MessageProducer.getDeliveryMode()メソッドを呼び出すと、メッセージ・プロデューサは明示的に配信モードを取得できます。

ノート: この値は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性:
JMSConnectionFactoryMBean.DefaultDeliveryMode

デフォルト配信時間

メッセージが生成されてからそのターゲット宛先で表示できるようになるまでの時間を示すミリ秒数。

weblogic.jms.extensions.WLMessageProducer.getTimeToDeliver()メソッドを呼び出すと、メッセージ・プロデューサは明示的に配信時間を取得できます。

値の範囲: 0から64ビットの正の整数まで

ノート: この値は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性:
JMSConnectionFactoryMBean.DefaultTimeToDeliver

最小値: 0

最大値: 9223372036854775807

最大メッセージ数

非同期セッション向けに存在し、メッセージ・リスナーにまだ渡されていないメッセージの最大数。値-1は、メッセージ数に制限がないことを示します。この値は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。(マルチキャスト拡張機能を使用するトピック・サブスクライバについては、「超過時のポリシー」フィールドも参照してください。)

メッセージの数が「最大メッセージ数」の値に達すると、次のようになります。

  • マルチキャスト・セッションの場合、新しいメッセージは超過時のポリシーの値によって指定されたポリシーに従って破棄され、DataOverrunExceptionがスローされます。

  • 非マルチキャスト・セッションの場合、新しいメッセージはフロー制御されるか、アプリケーションがメッセージを受け入れることができるまでサーバー上に保持されます。

値の範囲: -1から32ビットの正の整数まで

ノート: マルチキャスト・セッションの場合、接続が停止しても、メッセージの配信は「最大メッセージ数」値に達するまで続行されます。この値に達すると、メッセージは「超過時のポリシー」に従って破棄されます。

MBean属性:
JMSConnectionFactoryMBean.MessagesMaximum

最小値: -1

最大値: 2147483647

超過時のポリシー

マルチキャスト拡張機能を使用するトピック・サブスクライバの超過時のポリシー。未処理のマルチキャスト・メッセージ数が「最大メッセージ数」フィールドで指定された値に達し、一部のメッセージを破棄する必要があるときに使用するポリシー。「新しいメッセージの保持」は、最新のメッセージが最も古いメッセージよりも優先され、必要に応じて、古いメッセージが破棄されることを示します。「古いメッセージの保持」は、最も古いメッセージが最新のメッセージよりも優先され、必要に応じて、最新のメッセージが破棄されることを示します。メッセージの新旧は、JMSTimestampの値ではなく受信の順序によって定義されます。

未処理のマルチキャスト・メッセージ数が「最大メッセージ数」で指定された値に達し、一部のメッセージを破棄する必要があるときに使用するポリシー。

  • 新しいメッセージの保持」に設定すると、最新のメッセージが最も古いメッセージに対して優先され、必要に応じて、古いメッセージが破棄されます。

  • 古いメッセージの保持」に設定すると、最も古いメッセージが最新のメッセージに対して優先され、必要に応じて、最新のメッセージが破棄されます。

メッセージの新旧は、JMSTimestampの値ではなく受信の順序によって定義されます。

ノート: この値は動的です。いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。

MBean属性:
JMSConnectionFactoryMBean.OverrunPolicy

トランザクション・タイムアウト
XA接続ファクトリの有効化

関連タスク

関連トピック


先頭に戻る