ルート・スキーマ: Load Balancing Params
タイプ: object
ソースを表示
- loadBalancingEnabled(optional): boolean
デフォルト値: true
接続ファクトリを介して作成された非匿名プロデューサが、分散宛先内で呼出し単位でロード・バランシングされるようにするかどうかを指定します。
- producerLoadBalancingPolicy(optional): string
デフォルト値: Per-Member
指定可能な値: [ "Per-Member", "Per-JVM" ]
プロデューサのロード・バランシング・ポリシー
は、分散宛先(DD)のメンバー間で、JMSメッセージ・プロデューサがメッセージのロード・バランシングを行える範囲を制限します。
有効な値は、次のとおりです。
ノート:
この設定は、順序単位および作業単位のメッセージには影響しません。
すべてのWebLogic Server JVMで実行されているDDのメンバーが1つの場合は、JVM単位
とメンバー単位
の動作が同じになります。
特定DDのJVM単位
の候補メンバーは、WebLogic Server JVM当たり最大で1つです。
JVM単位
のロード・バランシングの候補は、(a)クラスタのターゲットとして指定されたJMSサーバーやSAFエージェントでホストされているDDメンバーのうち、優先サーバーで実行されているメンバー(フェイル・オーバーや移行が行われなかったものなど)か、(b)DDメンバーがクラスタのターゲットとして指定されたJMSサーバーやSAFエージェントでホストされていない同一のJVM上で、辞書順がより後ろのメンバー名です。(a)のメンバーは、(b)のメンバーより優先されます。2つのメンバーが(a)に当てはまる場合は、辞書順がより後ろのメンバーが選択されます。
DDが複製された分散トピック
である場合や、「ロード・バランシングの有効化」
が「false」
に設定されている場合、MessageProducerは1つのメンバーに固定されるため、初回の作成時かエラーの発生後にのみロード・バランシングが行われます。MessageProducerがすでに特定JVMの特定のDDメンバーに固定されていて、そのDDがクラスタのターゲットとして指定されているJMSサーバーやSAFエージェントでホストされておらず、DDの新しいメンバーが同じJVMで開始されている場合は、そのメンバーがその時点においてもJVM単位
のロード・バランシングの候補であるかどうかに関係なく、MessageProducerのその後のメッセージは、元のメンバーに固定されたままになります。
カスタマイズされた接続ファクトリのプロデューサのロード・バランシング・ポリシー
は、クラスタ内のすべてのWebLogic Serverに、システム・プロパティweblogic.jms.ProducerLoadBalancingPolicy
またはweblogic.jms.ProducerLoadBalancingPolicy.MODULENAME
を指定することでオーバーライドできます(2つ目のプロパティが1つ目のプロパティより優先されます)。接続ファクトリがこれらのシステム・プロパティのいずれかでオーバーライドされた場合は、最初のMessageProducerが接続ファクトリを使用したときに、ホストWebLogic Serverで、その接続ファクトリの名前とシステム・プロパティ、そのシステム・プロパティの値が記載された情報メッセージBEA-040538が記録されます。
ストア・アンド・フォワード・エージェント(SAFエージェント)を介して必ず1回のポリシーで転送されたメッセージのロード・バランシングを制御する類似の設定については、SAFインポート済宛先Beanの必ず1回のロード・バランシング・ポリシー属性を参照してください。
この属性は動的で、いつでも変更できます。ただし、値を変更しても既存の接続には影響しません。この接続ファクトリで作成された新しい接続にのみ影響します。
- serverAffinityEnabled(optional): boolean
デフォルト値: true
サーバー・インスタンスで、分散宛先の複数のメンバー宛先にまたがってコンシューマまたはプロデューサのロード・バランシングを実行するときに、同じサーバー・インスタンス内で動作する他の物理宛先にまたがるロード・バランシングを最初に試行するかどうかを指定します。
{
"type":"object",
"properties":{
"loadBalancingEnabled":{
"default":true,
"type":"boolean",
"description":"<p>Specifies whether non-anonymous producers created through a connection factory are load balanced within a distributed destination on a per-call basis.</p><ul><li><p>If enabled, the associated message producers are load balanced on every <code>send()</code> or <code>publish() </code></p></li><li><p>If disabled, the associated message producers are load balanced on the first <code>send()</code> or <code> publish()</code></p></li></ul>"
},
"producerLoadBalancingPolicy":{
"default":"Per-Member",
"enum":[
"Per-Member",
"Per-JVM"
],
"type":"string",
"description":"<p>The <code>Producer Load Balancing Policy</code> restricts where a JMS Message Producer can load balance its messages among members of a distributed destination (DD).</p><p>The valid values are:</p><ul><li><p><code>Per-Member</code> - The default value. All running members are candidates.</p></li><li><p><code>Per-JVM</code> - Only one member per JVM is a candidate.</p></li></ul><p>Notes:</p><ul><li><p> Unit of Order and Unit of Work messages are not affected by this setting.</p></li><li><p> If every WebLogic Server JVM is running a single member of the DD, then <code>Per-JVM</code> and <code>Per-Member</code> yield equivalent behavior.</p></li><li><p> There can be at most one <code>Per-JVM</code> candidate member of a particular DD per WebLogic Server JVM.</p></li><li><p>The <code>Per-JVM</code> load balance candidates will either be (a) members of a DD hosted on a cluster targeted JMS Server or SAF Agent that are running on their preferred server (for example, members that have not failed over or migrated), OR (b) the lexicographically least member name on the same JVM where the DD member is not hosted on a cluster targeted JMS Server or SAF Agent. A member in (a) takes precedence over a member in (b). If two members satisfy (a), then the lexicographically least member name is chosen.</p></li><li><p> If the DD is a <code>Replicated Distributed Topic</code> or if <code>Load Balance Enabled</code> is set to <code>false</code>, then MessageProducers are 'pinned' to a single member and therefore only load balance on initial creation or after a failure. If a MessageProducer is already pinned to a particular DD member on a particular JVM, and the DD is not hosted on JMS Servers or SAF Agents that are targeted to a cluster, and a new member of the DD starts on the same JVM, then the MessageProducer's future messages stay pinned to its original member regardless of whether the member is still a <code>Per-JVM</code> load balance candidate.</p></li><li><p> You can override the <code>Producer Load Balancing Policy</code> on a custom Connection Factory by specifying the system properties <code>weblogic.jms.ProducerLoadBalancingPolicy</code> or <code>weblogic.jms.ProducerLoadBalancingPolicy.MODULENAME</code> on every WebLogic Server in a cluster (the latter property takes precedence over the former). If a Connection Factory is overridden by one of these system properties, then the host WebLogic Server will log an Info message BEA-040538 with the name of the Connection Factory, the system property, and the system property value once the first MessageProducer uses the connection factory.</p></li><li><p> For a similar setting that controls the load balancing of messages forwarded Exactly-Once via a Store-and-Forward Agent (SAF Agent), see the Exactly Once Load Balancing Policy attribute on a SAF Imported Destinations bean.</p></li></ul><p>This attribute is dynamic and can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.</p>"
},
"serverAffinityEnabled":{
"default":true,
"type":"boolean",
"description":"<p>Specifies whether a server instance that is load balancing consumers or producers across multiple members destinations of a distributed destination, will first attempt to load balance across any other physical destinations that are also running on the same server instance. </p>"
}
},
"description":""
}