36.5.2. 静的なクラスターサーバーリストの指定
各ノードが順番に利用可能なノードを検出できるように、シンメトリッククラスターを定義し、静的なサーバー検出を使用しないようにすることができます。各クラスター接続がクラスター内の他のすべてのノードを明示的に認識するよう設定することが必要です。
重要
静的なクラスターサーバーリストを使用して定義されたクラスターではフェイルオーバーがサポートされません。クラスターノード間でのフェイルオーバーをサポートするには、ノードが検出グループを使用するよう設定する必要があります。
タスク: 自動検出なしでクラスターサーバーリストを指定する
このタスクを完了して、サーバー自動検出を使用する代わりに静的なクラスターサーバーリストを指定します。
前提条件
JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml
ファイルがオープンであり、ディレクティブを追加できる。hornetq-configuration.xml
設定ディレクティブ (「hornetq-configuration.xml」 で詳細に説明)。
コネクターの定義
hornetq-configuraton.xml
ファイルで、リモートコネクターファクトリーを定義する <connectors> ディレクトリブロック、コネクターの名前、および各コネクターが使用するポートを挿入します。各コネクターは一意のポートを使用する必要があります。<connectors> <connector name="netty-connector"> <factory-class> org.hornetq.core.remoting.impl.netty.NettyConnectorFactory </factory-class> <param key="port" value="5445"/> </connector> <!-- connector to the server1 --> <connector name="server1-connector"> <factory-class> org.hornetq.core.remoting.impl.netty.NettyConnectorFactory </factory-class> <param key="port" value="5446"/> </connector> <!-- connector to the server2 --> <connector name="server2-connector"> <factory-class> org.hornetq.core.remoting.impl.netty.NettyConnectorFactory </factory-class> <param key="port" value="5447"/> </connector> </connectors>
クラスター接続の定義
<cluster-connection> ディレクティブブロックを挿入します。このブロックには、必須のクラスタリングディレクティブ、前の手順で設定した <connector-ref> ディレクティブが含まれている必要があります。<connector-ref> ディレクティブは、<connector> ディレクティブで設定された名前属性を使用します。<cluster-connections> <cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> <forward-when-no-consumers>true</forward-when-no-consumers> <max-hops>1</max-hops> <static-connectors> <connector-ref>server1-connector</connector-ref> <connector-ref>server2-connector</connector-ref> </static-connectors> </cluster-connection> </cluster-connections>
結果
クラスターは、明示的なサーバー名を使用してサーバー検出に必要なディレクティブで定義されます。