一部の JMS リソースは、JMS ホストリスト (AddressList) の構成を使用します。このリストは、Enterprise Server で定義されている JMS ホストのホスト名とポートを指定します。JMS ホスト構成が変更されるたびに、JMS ホストリストは更新されます。JMS ホストリストは、JMS リソースの作成時およびメッセージ駆動型 Bean の配備時に、リソースまたは Bean によって継承されます。
メッセージキュー ソフトウェアでは、AddressList プロパティーは imqAddressList と呼ばれます。
ここでは、次のテーマを取り上げます。
Enterprise Server は JMS 接続を自動的にプールします。JMS 接続プールが作成されるときに、ManagedConnectionFactory のインスタンスが 1 つ関連付けられます。AddressList プロパティーを ManagedConnectionFactory プロパティーとして設定すると、ManagedConnectionFactory 値の AddressList の構成が、Enterprise Server で定義された値よりも優先されます。
create-connector-connection-pool サブコマンドを使用して、既存のプールを管理します。手順については、「コネクタ接続プールの管理」を参照してください。
デフォルトでは、JMS サービス属性の addresslist-behavior が random に設定されます。この場合、ManagedConnectionFactory から作成された各物理送信先 (ManagedConnection) は、主ブローカを AddressList プロパティーからランダムに選択します。
接続が失われたときに Enterprise Server が主ブローカに再接続を試みるかどうかを指定するには、set(1) サブコマンドを使用して、JMS サービスの reconnect-enabled 属性を設定します。再試行の回数と間隔を指定するには、それぞれ reconnect-attempts 属性と reconnect-interval-in-seconds 属性で設定します。
再接続が有効な場合に主ブローカで障害が発生すると、Enterprise Server は JMS ホストリスト (AddressList) の別のブローカに再接続を試みます。スキャンのロジックは、addresslist-behavior と addresslist-iterations の 2 つの JMS サービス属性で決定されます。これらの設定は、JMS 接続ファクトリ設定を使用してオーバーライドできます。Sun GlassFish メッセージキュー ソフトウェアは、フェイルオーバーが発生したときに、負荷を別のブローカに透過的に転送します。JMS のセマンティクスはフェイルオーバー中も維持されます。
プロバイダとホストをリモートシステムに変更すると、すべての JMS アプリケーションがリモートサーバーで実行するようになります。ローカルサーバーと、1 つまたは複数のリモートサーバーの両方を使用するには、AddressList プロパティーを使用して接続ファクトリリソースを作成します。これにより、リモートサーバーにアクセスする接続が作成されます。