Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAMQP 用 Anypoint Connector (AMQP Connector) により、アプリケーションは AMQP 0.9.1 準拠のブローカーを使用してメッセージングをパブリッシュおよびコンシュームできます。このコネクタの主な機能は次のとおりです。
非公開の一時キューを使用する要求-返信のコンシュームでの RPC パターン
省略可能なチャネル自己回復を備えた SDK トランザクション管理
タイムアウトのある同期メッセージ要求
交換とキューの宣言の管理操作
すべての AMQP メッセージプロパティ (カスタムヘッダーを含む)
Reply To (返信先) (デフォルトの交換に返信をパブリッシュする)
自動、Mule 駆動型、手動のメッセージ肯定応答
手動のメッセージ拒否
必須および即時のパブリッシュパラメーターと、エラー処理で返される (配信不能) メッセージの処理
プリフェッチサイズとプリフェッチ数の「サービス品質」設定
noLocal および排他的なコンシューマー
TLS/SSL 接続
JMS Connector で提供されるようなメッセージビルダー機能
AMQP Connector には、メッセージのパブリッシュとコンシュームの両方を目的として微調整された一連のデフォルト値が標準で用意されています。つまり、自分で設定する必要があるのは、使用する接続を選択することだけです。
次の例では、localhost
のブローカーへの最低限の接続を設定しています。
<amqp:config name="AMQP_Config"> <amqp:connection host="localhost" username="guest" password="guest" /> </amqp:config>
example
メッセージをコンシュームまたはパブリッシュする際に使用する一連のデフォルトパラメーターを定義できます。この方法では、設定に関連するすべての操作のグローバルのデフォルト動作を定義し、カスタム動作が必要な操作でのみ各パラメーターを上書きすることができます。
たとえば、サイズに関しておよびメッセージ全体に関してプリフェッチサイズウィンドウを定義できます。
<amqp:config name="AMQP_Config"> <amqp:connection host="localhost" username="guest" password="guest" /> <amqp:quality-of-service-config prefetchSize="4" prefetchCount="4" /> <amqp:consumer-config ackMode="IMMEDIATE" /> <amqp:publisher-config requestBrokerConfirms="true"/> </amqp:config>
example
前の例では、この設定に関連付けられたすべての consume
操作またリスナーは IMMEDIATE
種別の肯定応答モードを使用しますが、すべての publish
または publish-consume
操作では、送信メッセージでブローカーからの確認が要求されます。
これらすべてのプロパティは必要に応じて操作レベルで上書きできます。たとえば、ブローカーからの確認を必要としないメッセージをパブリッシュする必要がある場合は、次のように指定します。
<amqp:publish config-ref="AMQP_Config" requestBrokerConfirms="false"/>
example
AMQP 接続は、すべての接続に適用される全般的なパラメーターのセットによって定義されます。
認証済み接続を確立するには、connection
要素で username
、password
、virtualhost
を設定する必要があります。
<amqp:config name="AMQP_Config"> <amqp:connection host="localhost" virtualhost="/" username="guest" password="guest" /> </amqp:config>
example
デフォルトの TLS コンテキストでパラメーター useTls
を使用して、ブローカーへのセキュアな接続を作成できます。次の方法で接続の子要素またはグローバル要素としてカスタム TLS コンテキストを提供することもできます。
<tls:context name="globalTlsContext"> <tls:trust-store path="tls/tlstest-cacerts.jks" password="changeit" /> <tls:key-store path="tls/tlstest-keystore.jks" keyPassword="changeit" password="changeit" /> </tls:context> <amqp:config name="config"> <amqp:connection host="localhost" port="5671" virtualHost="/" username="guest" password="guest" useTls="true" tlsContext="globalTlsContext" /> </amqp:config>
example
AMQP Connector v1.1.0 以降では、Server Name Indication (SNI) がサポートされています。ブローカーで SNI がサポートされている場合、ホスト名を検証して、同じ IP アドレスに別の証明書を提供できます。
パラメーター useSNI
を使用して、SSL ハンドシェイク中に AMQP クライアントが ClientHello
メッセージの拡張機能としてホスト名を追加する必要があることを示します。
<tls:context name="globalTlsContext"> <tls:trust-store path="tls/tlstest-cacerts.jks" password="changeit" /> <tls:key-store path="tls/tlstest-keystore.jks" keyPassword="changeit" password="changeit" /> </tls:context> <amqp:config name="config"> <amqp:connection host="localhost" port="5671" virtualHost="/" username="guest" password="guest" useTls="true" useSni="true" tlsContext="globalTlsContext" /> </amqp:config>
example