ナビゲーションをスキップ

コンフィグレーション リファレンス

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

JMSConnectionFactory

 


説明

このクラスは、JMS 接続ファクトリを表します。 接続ファクトリは、JMS クライアントが JMS 接続を作成することを可能にするオブジェクトです。

 


構文

<JMSConnectionFactory
AcknowledgePolicy=( "All" | "Previous" )
AllowCloseInOnMessage=( "true" | "false" )
ClientId="String"
DefaultDeliveryMode=( "Persistent" | "Non-Persistent" )
DefaultPriority="number"
DefaultRedeliveryDelay="number"
DefaultTimeToDeliver="number"
DefaultTimeToLive="number"
DeploymentOrder="number"
FlowControlEnabled=( "true" | "false" )
FlowInterval="number of seconds"
FlowMaximum="number of messages/second"
FlowMinimum="number of messages/second"
FlowSteps="number"
JNDIName="String"
LoadBalancingEnabled=( "true" | "false" )
MessagesMaximum="number"
Name="String"
Notes="String"
OverrunPolicy=( "KeepOld" | "KeepNew" )
SendTimeout="number of milliseconds"
ServerAffinityEnabled=( "true" | "false" )
Targets="list of Target names"
TransactionTimeout="number"
UserTransactionsEnabled=( "true" | "false" )
XAConnectionFactoryEnabled=( "true" | "false" )
XAServerEnabled=( "true" | "false" )
/>

 


親要素

 


属性

表 27-1 JMSConnectionFactory の属性

属性

説明

指定できる値とデフォルト値

AcknowledgePolicy

この属性は、非トランザクション セッションで CLIENT_ACKNOWLEDGE 確認応答モードを使用する実装にのみ適用される。

この属性は、JMS 仕様の変更の問題を回避する。具体的に説明すると、この仕様では確認応答されるメッセージとその前のすべてのメッセージを確認応答できた。しかし、以下に示すとおり、仕様の変更によって、任意のメッセージを確認応答すると受信済みのすべてのメッセージが確認応答されるようになった (確認応答されるメッセージの後に受信したメッセージも含む)。

  • 確認応答ポリシーを ACKNOWLEDGE_PREVIOUS とすると、以前の動作のままになる (確認応答されるメッセージとその前のすべてのメッセージが確認応答される)。

  • ACKNOWLEDGE_ALL とすると、どのメッセージによって確認応答が発生したのかに関係なく、特定のセッションで受信したすべてのメッセージが確認応答される。

Administration Console のフィールド ラベル : [確認応答ポリシー]

必須 : いいえ

デフォルト値 : All

AllowCloseInOnMessage

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

  • このフラグを有効にした場合 (true)、永続的なブロッキングではなく、onMessage() メソッド呼び出し内からの close() メソッド呼び出しが成功する。セッションの確認応答モードを AUTO_ACKNOWLEDGE に設定した場合、onMessage() が完了しても現行のメッセージは自動的に確認応答される。

  • このフラグを選択しない場合 (false)、onMessage() から呼び出されたときに stop() および close() メソッドがハングする。

この属性は動的であり、いつでも変更できる。ただし、この値を変更しても、既存の接続には効果が及ばない。その効果は、この接続ファクトリで作成された新しい接続だけに及ぶ。

Administration Console のフィールド ラベル : [メッセージの短縮を許可]

デフォルト値 : false

ClientId

この接続ファクトリを使用する恒久サブスクライバのクライアント ID。

Administration Console のフィールド ラベル : [クライアント ID]

必須 : いいえ

DefaultDeliveryMode

配信モードが明示的に定義されていない場合にメッセージに適用するデフォルトの配信モード。

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

Administration Console のフィールド ラベル : [デフォルト配信モード]

必須 : いいえ

デフォルト値 : Persistent

DefaultPriority

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

javax.jms.MessageProducer.getPriority() メソッドを呼び出すと、メッセージ プロデューサは明示的に優先順位を取得できる。

Administration Console のフィールド ラベル : [デフォルト優先順位]

デフォルト値 : 4

最小値 : 0

最大値 : 9

DefaultRedeliveryDelay

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

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

Administration Console のフィールド ラベル : [デフォルト再送遅延]

デフォルト値 : 0

最小値 : 0

最大値 : 263-1

DefaultTimeToDeliver

メッセージが生成されたときからメッセージが送り先に表示可能になるときまでの遅延時間 (ミリ秒単位)。

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

Administration Console のフィールド ラベル : [デフォルト配信時間]

デフォルト値 : 0

最小値 : 0

最大値 : 263-1

DefaultTimeToLive

メッセージの最長存在期間 (ミリ秒単位)。この値は、優先順位が明示的に定義されていない場合にメッセージに適用する。値 0 はメッセージが無限に存在することを示す。

メッセージ プロデューサは、javax.jms.MessageProducer.getTimeToLive() メソッドを呼び出して明示的に生存時間を取得できる。

Administration Console のフィールド ラベル : [デフォルト生存時間]

デフォルト値 : 0

最小値 : 0

最大値 : 263-1

DeploymentOrder

デプロイの優先順位。サーバではこれを使って項目のデプロイ順を決定する。優先順位は、同じタイプの他のデプロイ可能な項目に対する相対的な順位。 たとえば、サーバはすべての EJB を優先順位に従ってデプロイしてから、起動クラスを優先順位に従ってデプロイする。

デプロイ順の値が小さい項目から順にデプロイされる。デプロイ順の値が等しい項目のデプロイメント順序は保証されていない。クラスタ間の順序付けは保証されていない。

デフォルト値 : 1000

最小値 : 0

最大値 : 231-1

FlowControlEnabled

接続ファクトリを使用して作成したプロデューサでフロー制御が許可されるかどうかを指定する。true の場合、JMS サーバが Btyes/MessagesThresholdHigh に達すると、関連するメッセージ プロデューサが低速化される。

Administration Console のフィールド ラベル : [フロー制御を有効化]

デフォルト値 : true

FlowInterval

プロデューサが FlowMaximum のメッセージ数から FlowMinimum に、またはその反対にフローを調整するときの調整期間 (単位は秒)。

プロデューサがフロー制御されている場合、FlowInterval 秒の間で FlowMaximum から FlowMinimum へと低速化される。

Administration Console のフィールド ラベル : [フロー間隔]

単位 : 秒

デフォルト値 : 60

最小値 : 0

最大値 : 231-1

FlowMaximum

しきい値の条件に達したプロデューサで許可される秒当たりの最大メッセージ数。プロデューサがフロー制御されている場合、秒当たり FlowMaximum のメッセージ数より高速化できない。

しきい値の条件に達したときにプロデューサがフローを制御している場合、そのプロデューサの初期フロー制限が FlowMaximum に設定される。しきい値の条件に達したときにプロデューサがすでにフローを制御している場合 (フロー制限は FlowMaximum 未満)、プロデューサは次にフローが評価されるまで現在のフロー制限で処理を継続する。

注意 : いったん、しきい値条件への抵触を回避してからは、プロデューサはフロー限度を無視できなくなる。このフロー制限が FlowMaximum 未満の場合、プロデューサはフローが評価されるたびにそのフローを徐々に FlowMaximum まで増やす必要がある。プロデューサが FlowMaximum に達すると、そのフロー制限を無視し、そのフローを制限せずに送信できる。

Administration Console のフィールド ラベル : [最大フロー]

単位 : メッセージ/秒

デフォルト値 : 500

最小値 : 1

最大値 : 231-1

FlowMinimum

しきい値の条件に達したプロデューサで許可される秒当たりの最小メッセージ数。これは、プロデューサのフロー制御の下限値。つまり、WebLogic JMS は、フロー制限が FlowMinimum に達したプロデューサの処理速度はそれ以上落とさない。

プロデューサがフロー制御されている場合、秒当たり FlowMaximum のメッセージ数より高速化できない。

Administration Console のフィールド ラベル : [最小フロー]

単位 : メッセージ/秒

デフォルト値 : 50

最小値 : 1

最大値 : 231-1

FlowSteps

プロデューサが FlowMaximum のメッセージ数から FlowMinimum に、またはその反対にフローを調整するときに使用するステップ数。フロー間隔の調整期間は、フローステップ数に分割される (たとえば 60 秒を 6 ステップで割ると 1 ステップ 10 秒となる)。

また、FlowMaximum と FlowMinimum の差をステップに分割することにより、移動 (調整率など) が計算される。各フロー ステップでは、次のように現在の条件に基づいて必要に応じてフローが上方または下方に調整される。

  • 下方移動 (減衰) は指定した期間 (フロー間隔) および指定したステップ数に対し幾何級数的 (たとえば、100、50、25、12.5)。

  • 上方移動は線形。差は単純にステップ数で除算される。

Administration Console のフィールド ラベル : [フロー ステップ]

デフォルト値 : 10

最小値 : 1

最大値 : 231-1

JNDIName

JNDI ネームスペースで接続ファクトリをルックアップするための JNDI 名。接続ファクトリ名は別途コンフィグレーションされる。

Administration Console のフィールド ラベル : [JNDI 名]

必須 : いいえ

LoadBalancingEnabled

分散送り先については、接続ファクトリで作成された匿名でないプロデューサが、呼び出しごとに各分散送り先でロード バランシングの対象となるかどうかを指定する。

  • true を指定すると、関連付けられているメッセージ プロデューサは send() または publish() が発行されるたびにロード バランシングされる。

  • false の場合、関連付けられているメッセージ プロデューサは最初の send() または publish() でロード バランシングされる。

Administration Console のフィールド ラベル : [ロード バランスを有効化]

デフォルト値 : true

MessagesMaximum

非同期セッションの間に存在し、メッセージ リスナにまだ渡されていないメッセージの最大数。値 -1 はメッセージ数を制限しないことを示す。ただし、その場合、使用可能な仮想メモリ量が制限される。0 は無効。指定した場合、さまざまな例外が送出される可能性がある。

メッセージ数が MessagesMaximum の値に達した場合の処理は次のとおり。

  • マルチキャスト セッションの場合、新しいメッセージは OverrunPolicy 属性によって指定されたポリシーに従って破棄され、DataOverrunException が発生する。

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

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

Administration Console のフィールド ラベル : [最大メッセージ数]

デフォルト値 : 10

最小値 : -1

最大値 : 231-1

Name

このコンフィグレーションの名前。WebLogic Server では MBean を使用してコンフィグレーションを実装および保持する。

Administration Console のフィールド ラベル : [名前]

必須 : いいえ

Notes

このコンフィグレーションの説明として任意に入力できる情報。

Administration Console のフィールド ラベル : [メモ]

必須 : いいえ

OverrunPolicy

未処理のマルチキャスト メッセージ数が MessagesMaximum で指定された値に達し、一部のメッセージを破棄しなければならないときに使用するポリシー。

  • KeepNew に設定した場合、最新のメッセージが最も古いメッセージに対して優先され、必要に応じて、古いメッセージは破棄される。

  • KeepOld に設定した場合、最も古いメッセージが最新のメッセージに対して優先され、必要に応じて、最新のメッセージは破棄される。

メッセージの存在期間は受け取り順序によって決まり、JMSTimestamp 値によって定義されるわけではない。

Administration Console のフィールド ラベル : [超過時のポリシー]

必須 : いいえ

デフォルト値 : KeepOld

SendTimeout

送信されたメッセージを収容できるだけの十分なスペースが送り先にない (割り当てがない) 場合に、送信側が待機する最大時間 (ミリ秒数)。

デフォルトの時間は 10 ミリ秒。0 を指定すると、送信側は待機しない。

この属性は動的である。いつでも変更することができる。ただし、この値を変更しても、既存の接続またはプロデューサには効果が及ばない。その効果は、この接続ファクトリで作成された新しい接続だけに及ぶ。プロデューサは、セッションおよび接続を作成するために使用される接続ファクトリから設定を継承する。その値は、プロデューサで値を設定することで実行時にオーバーライドできる。

Administration Console のフィールド ラベル : [送信タイムアウト]

単位 : ミリ秒

デフォルト値 : 10

最小値 : 0

最大値 : 263-1

ServerAffinityEnabled

分散送り先については、分散送り先セット内の複数の物理的送り先の間でコンシューマまたはプロデューサのロード バランシングを行っている WebLogic Server が、同じ WebLogic Server で実行されている他の物理的送り先の間でのロード バランシングを最初に行うかどうかを指定する。

Administration Console のフィールド ラベル : [サーバ アフィニティを有効化]

デフォルト値 : true

Targets

現在のドメイン内で、この項目のデプロイ先となる対象。

Administration Console のフィールド ラベル : [対象]

必須 : いいえ

TransactionTimeout

この接続ファクトリで作成された接続のすべてのトランザクションのタイムアウト値 (秒単位)。

タイムアウト値で指定された時間を経過しても実行されたセッションがアクティブな場合、トランザクションはロールバックされる。 値 0 は、デフォルト値が使用されることを示す。 長時間実行するトランザクションがある場合、トランザクションが完了するようにこの属性の値を調整する。

Administration Console のフィールド ラベル : [トランザクション タイムアウト]

デフォルト値 : 3600

最小値 : 0

最大値 : 231-1

UserTransactionsEnabled

非推奨。JTA 対応のセッションが接続ファクトリで作成されるかどうかを指定する。true の場合、関連するメッセージ プロデューサとメッセージ コンシューマは、トランザクション コンテキストについて実行中のスレッドを調べる。設定していない場合は、JTA トランザクションを無視する。

この属性は現在は非推奨になっている。XAServerEnabled 属性が設定されると、この属性も自動的に設定される。

注意 : トランザクション セッションは、設定とは無関係に、自身内部のトランザクションのために現在のスレッドのトランザクション コンテキストを無視する。この設定は、非トランザクション セッションのみに適用される。

Administration Console のフィールド ラベル : [ユーザ トランザクションを有効化]

デフォルト値 : false

XAConnectionFactoryEnabled

キューまたはトピック接続ファクトリの代わりに、XA キューまたは XA トピック接続ファクトリが返されるかどうかを指定する。XA 接続ファクトリは XAConnection の作成に使用でき、XAConnection は XASession の作成に使用でき、XASession はトランザクション マネージャ内部で使用する XAResource の取得に使用できる。

また、この属性は接続ファクトリが JTA 対応のセッションを作成するかどうかも指定する。true の場合、関連するメッセージ プロデューサとメッセージ コンシューマは、トランザクション コンテキストについて実行中のスレッドを調べる。設定していない場合は、JTA トランザクションを無視する。

注意 : トランザクション セッションは、設定とは無関係に、自身内部のトランザクションのために現在のスレッドのトランザクション コンテキストを無視する。 この設定は、非トランザクション セッションのみに適用される。

Administration Console のフィールド ラベル : [XA コネクションファクトリを有効化]

デフォルト値 : false

XAServerEnabled

非推奨。接続ファクトリの XAServerEnabled 属性の値を返す。

この接続ファクトリが WebLogic Server インスタンス内部から呼び出されるときに、XA 対応の JMS 接続およびセッションが常に作成されるかどうかを決定する。

この属性は非推奨。現在は、XA および非 XA の両方の目的で 1 つの XA 対応接続ファクトリを使用できる。

Administration Console のフィールド ラベル : [サーバサイド XA を有効化]

デフォルト値 : false

 

フッタのナビゲーションのスキップ  ページの先頭 前 次