20.5. 接続 URL
JNDI プロパティーでは、Connection URL は接続のプロパティーを指定します。Connection URL の形式は以下のとおりです。
amqp://[<user>:<pass>@][<clientid>]<virtualhost>[?<option>='<value>'[&<option>='<value>']]
たとえば、以下の接続 URL はユーザー名、パスワード、クライアント ID、仮想ホスト("test")、単一のブローカーを持つブローカーリスト、およびポート 5672 を使用してホスト名 localhost を持つ TCP ホストを指定します。
amqp://username:password@clientid/test?brokerlist='tcp://localhost:5672'
Apache Qpid は、接続 URL の以下のプロパティーに対応します。
オプション | type | description |
---|---|---|
brokerlist
|
このコネクションに使用するブローカー。現在のリリースでは、正確に 1 つのブローカーを指定する必要があります。
| |
max_prefetch
|
整数
|
宛先ごとの事前にフェッチされたメッセージの最大数。
|
sync_publish
|
{'persistent' | 'transient' | 'all' | ''}
|
sync コマンドは、永続メッセージまたは一時的なメッセージが毎回送信され、受信が確実に行われます。
persistent 永続メッセージに対してこの動作を設定します。
transient この動作を一時的なメッセージのみに設定します。
all 両方のタイプのメッセージを同期しますが、デフォルトの動作 '' も同じ効果を持ちます。
|
sync_ack
|
ブール値
|
sync コマンドは、受信を確認するために毎回承認後に送信されます。
|
use_legacy_map_msg_format
|
ブール値
|
JMS Map メッセージを使用し、0.7 リリースよりも古い JMS クライアントで新しいクライアントをデプロイする場合、これを設定して古いクライアントがマップメッセージエンコーディング
true を把握できるようにする必要があります。
|
failover
| {'roundrobin' | 'failover_exchange' | 'singlebroker' | 'nofailover' | '<class>'}
|
|
ssl |
ブール値
|
すべてのブローカー接続に SSL
ssl='true' を使用します。brokerlist エントリーのブローカーごとの設定をオーバーライドします。指定されていない場合、指定した各ブローカーの brokerlist エントリーを使用して、SSL が使用されるかどうかを判断します。
|
ブローカーリスト URL
ブローカーリストは、この形式の URL を使用して指定されます。
brokerlist=<transport>://<host>[:<port>](?<param>=<value>)?(&<param>=<value>)*
たとえば、典型的なブローカー一覧 URL は以下のようになります。
brokerlist='tcp://localhost:5672'
ブローカーリストには複数のブローカーアドレスを含めることができます。存在する場合は、利用可能なリストの最初のブローカーにコネクションが作成されます。通常、ブローカーがダウンした場合にアプリケーションがフェールオーバーできるため、複数のブローカーを使用する場合はフェイルオーバーの交換を使用することが推奨されます。
例20.1 ブローカーリスト
ブローカーリストは、セキュリティーオプションなどのブローカーへの接続時に使用されるプロパティーを指定できます。このブローカーリストは、GSSAPI を使用した Kerberos 接続のオプションを指定します。
amqp://guest:guest@test/test?sync_ack='true' &brokerlist='tcp://ip1:5672?sasl_mechs='GSSAPI''
このブローカーリストは SSL オプションを指定します。
amqp://guest:guest@test/test?sync_ack='true' &brokerlist='tcp://ip1:5672?ssl='true'&ssl_cert_alias='cert1''
このブローカーリストは、connectdelay を使用して 2 つのブローカーを指定し、ブローカーオプションを再試行します。また、フェイルオーバー接続 URL プロパティーも示します。
amqp://guest:guest@/test?failover='roundrobin?cyclecount='2'' &brokerlist='tcp://ip1:5672?retries='5'&connectdelay='2000';tcp://ip2:5672?retries='5'&connectdelay='2000''
以下のブローカー一覧の URL オプションがサポートされます。
オプション | type | description |
---|---|---|
idle_timeout
|
整数
|
idle_timeout メッセージの頻度(秒単位)
|
sasl_mechs
|
--
|
セキュアなアプリケーションの場合、提案
CRAM-MD5 DIGEST-MD5 、またはです GSSAPI 。この ANONYMOUS メソッドは安全ではありません。この PLAIN 方法は、SSL と併用した場合に限り安全です。Kerberos を設定 sasl_mechs するに GSSAPI sasl_protocol は、qpidd ブローカーのプリンシパル(例:)を設定し qpidd/ 、SASL サーバーのホスト(例:)に設定 sasl_server する必要があります sasl.com 。SASL External は SSL 認定を使用してサポートされます(例:)。 ssl='true'&sasl_mechs='EXTERNAL'
|
sasl_encryption
|
ブール値
|
if
sasl_encryption ='true' 、JMS クライアントは、GSSAPI を使用して接続を暗号化するためにブローカーでセキュリティー層をネゴシエートしようとします。これを行うには、GSSAPI がとして選択される必要があることに注意してください sasl_mech 。
|
ssl
|
ブール値
|
if
ssl ='true ' の場合、JMS クライアントは SSL を使用して接続を暗号化します。
|
tcp_nodelay
|
ブール値
|
if
tcp_nodelay ='true ' の場合、TCP パケットのバッチ処理が無効になります。
|
sasl_protocol
|
--
|
Kerberos にのみ使用されます。たとえば、qpidd ブローカーのプリンシパルに設定
sasl_protocol する必要があります。 qpidd/
|
sasl_server
|
--
|
Kerberos を設定
sasl_mechs するには GSSAPI 、に SASL サーバーのホストを設定 sasl_server する必要があります(例:) sasl.com 。
|
trust_store
|
string
|
Kerberos トラストストアへのパス
|
trust_store_password
|
string
|
Kerberos トラストストアのパスワード
|
key_store
|
string
|
Kerberos キーストアへのパス
|
key_store_password
|
string
|
Kerberos キーストアのパスワード
|
ssl_verify_hostname
|
ブール値
|
SSL を使用する場合、ブローカー URL の "=" を使用してホスト名の検証を有効
ssl_verify_hostname true にできます。
|
ssl_cert_alias
|
string
|
複数の証明書がキーストアにある場合、エイリアスを使用して正しい証明書を抽出します。
|
retries | 整数 |
Broker リストの各ブローカーへの接続を再試行する回数。デフォルトは 1 です。
|
connectdelay | 整数 |
再接続を試みるまで待機する時間(ミリ秒単位)。デフォルトは 0 です。
|
connecttimeout | 整数 |
ソケット接続が正常に実行されるまで待機する時間(ミリ秒単位)。値が 0 の場合は無限のタイムアウトを表します。つまり、接続の試行は確立されるまでブロックするか、エラーが発生します。デフォルトは 30000 です。
|
tcp_nodelay | ブール値 | TCP パケット tcp_nodelay='true' のバッチ処理が無効になっている場合。Qpid 0.14 以降、デフォルトで true に設定されます。 |