4.3. 接続 URI

コネクションは接続 URI を使用して設定されます。接続 URI は、クエリーパラメーターとして設定されるリモートホスト、ポート、および設定オプションのセットを指定します。利用可能なオプションについての詳細は、5章SSL 設定オプション を参照してください。

接続 URI 形式

<scheme>://<host>:<port>[?<option>=<value>[&<option>=<value>...]]

暗号化されていない接続のスキームは amqp で、SSL/TLS 接続の場合は amqps です。

たとえば、以下はポート 5672 でホスト example.net に接続する接続 URI で、クライアント ID を backend に設定します。

例: 接続 URI

amqp://example.net:5672?jms.clientID=backend

フェイルオーバー URI

フェイルオーバーが設定されると、現在のサーバーへの接続が失われた場合、クライアントは別のサーバーに自動的に再接続できます。フェイルオーバー URI には接頭辞 failover: があり、括弧内には接続 URI のコンマ区切りリストが含まれます。追加のオプションは最後に指定されます。

フェイルオーバーの URI 形式

failover:(<connection-uri>[,<connection-uri>...])[?<option>=<value>[&<option>=<value>...]]

たとえば、以下は、2 つのホスト (host1 または host2) のいずれかに接続できるフェイルオーバー URI です。

例: フェイルオーバー URI

failover:(amqp://host1:5672,amqp://host2:5672)?jms.clientID=backend

接続 URI の例と同様に、クライアントはフェイルオーバー設定で URI を使用して多数の異なる設定で設定できます。これらの設定は、5章SSL 設定オプション で詳しく説明しています。「フェイルオーバーオプション」 セクションも参照してください。

SSL/TLS サーバー名の表示

amqps スキームを使用して SSL/TLS 接続を指定する場合、URI からのホストセグメントは JVM の TLS Server Name Indication (SNI) 拡張によって使用でき、TLS ハンドシェイク時に必要なサーバーのホスト名を通信できます。SNI 拡張は、完全修飾ドメイン名 (例: "myhost.mydomain") が指定されている場合に自動的に含まれますが、修飾されていない名前 (「myhost」など) やベア IP アドレスが使用される場合は定義されません。