36.5. クラスターのメンバーを明示的に指定
場合によっては、UDP がネットワークで有効にならず、クライアントがクラスター内のサーバーのリストを検出する、またはサーバーがクラスター内の他のサーバーを検出するために、UDP サーバー検出を使用できないことがあります。
この場合、クラスター内のサーバーのいるとは各ノードとクライアントサイドで明示的に指定できます。これは以下のように行います。
36.5.1. クライアントサイドでのサーバーのリストの指定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
これは、JMS を使用するかコア API を使用するかによって異なります。
36.5.1.1. JMS を使用してサーバーのリストを指定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JMS と JMS サービスを使用して JMS 接続ファクトリーインスタンスをサーバーの JNDI に直接ロードする場合は、サーバーサイドの設定ファイル
JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-jms.xml でサーバーのリストを指定できます。以下に例を示します。
connection-factory 要素には、ゼロ個以上の connector-ref 要素を含めることができます。これらの各要素はconnector-name 属性とオプションの backup-connector-name 属性を指定します。connector-name 属性はライブコネクターとして使用される JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml で定義されたコネクターを参照します。backup-connector-name はオプションであり、指定された場合は、hornetq-configuration.xml で定義されたコネクターも参照します。コネクターの詳細については、14章トランスポートの設定 を参照してください。
接続ファクトリーは [コネクター, バックアップコネクター] のペアのリストを保持します。これらのペアは、クラスターへの接続の作成時にクライアントサイドでクライアント接続ロードバランシングポリシーによって使用されます。
JMS を使用し、JNDI を使用していない場合は、
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
HornetQConnectionFactory をインスタンス化するときに [コネクター, バックアップコネクター] ペアのリストを直接指定することもできます。
上記のコード例により、
TransportConfiguration オブジェクトのペアのリストが作成されます。各 TransportConfiguration オブジェクトには、特定のサーバーと接続を確立する方法に関する情報が含まれます。
HornetQConnectionFactory インスタンスを作成してコンストラクターのサーバーのリストを渡します。このファクトリーにより作成されたすべてのコネクターは、サーバーのリストに適用されたクライアント接続のロードバランシングポリシーに従って、接続を作成します。
36.5.1.2. コア API を使用したサーバーのリストの指定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の例のように、
ClientSessionFactory インスタンスの作成時にサーバーのリストを直接指定します。
上記のコード例により、
TransportConfiguration オブジェクトのペアのリストが作成されます。各 TransportConfiguration オブジェクトには、特定のサーバーと接続を確立する方法に関する情報が含まれます。この詳細については、14章トランスポートの設定 を参照してください。
ClientSessionFactoryImpl インスタンスが作成され、コンストラクターでサーバーのリストが渡されます。このファクトリーにより作成されたすべてのセッションは、サーバーのリストに適用されたクライアント接続のロードバランシングポリシーに従ってセッションを作成します。