36.5.2. 静的なクラスターサーバーリストの指定

各ノードが順番に利用可能なノードを検出できるように、シンメトリッククラスターを定義し、静的なサーバー検出を使用しないようにすることができます。各クラスター接続がクラスター内の他のすべてのノードを明示的に認識するよう設定することが必要です。

重要

静的なクラスターサーバーリストを使用して定義されたクラスターではフェイルオーバーがサポートされません。クラスターノード間でのフェイルオーバーをサポートするには、ノードが検出グループを使用するよう設定する必要があります。

タスク: 自動検出なしでクラスターサーバーリストを指定する

このタスクを完了して、サーバー自動検出を使用する代わりに静的なクラスターサーバーリストを指定します。

前提条件

  • JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml ファイルがオープンであり、ディレクティブを追加できる。
  • hornetq-configuration.xml 設定ディレクティブ (「hornetq-configuration.xml」 で詳細に説明)。
  1. コネクターの定義

    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>
  2. クラスター接続の定義

    <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>
  3. 結果

    クラスターは、明示的なサーバー名を使用してサーバー検出に必要なディレクティブで定義されます。