# mulesoft Amqp Connector - Full Documentation # AMQP Connector AMQP 用 Anypoint Connector (AMQP Connector) v1.6 リリースノート: [AMQP Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-amqp)​ Exchange: [AMQP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-amqp-connector/) AMQP Connector により、アプリケーションは AMQP 0.9.1 準拠のブローカーを使用してメッセージングをパブリッシュおよびコンシュームできます。このコネクタの主な機能は次のとおりです。 - 非公開の一時キューを使用する要求-返信のコンシュームでの RPC パターン - 省略可能なチャネル自己回復を備えた SDK トランザクション管理 - タイムアウトのある同期メッセージ要求 - 交換とキューの宣言の管理操作 - すべての AMQP メッセージプロパティ (カスタムヘッダーを含む) - Reply To (返信先) (デフォルトの交換に返信をパブリッシュする) - 自動、Mule 駆動型、手動のメッセージ肯定応答 - 手動のメッセージ拒否 - 必須および即時のパブリッシュパラメーターと、エラー処理で返される (配信不能) メッセージの処理 - プリフェッチサイズとプリフェッチ数の「サービス品質」設定 - noLocal および排他的なコンシューマー - TLS/SSL 接続 - JMS Connector で提供されるようなメッセージビルダー機能 ## [](#configuration_settings)コネクタの設定 AMQP Connector には、メッセージのパブリッシュとコンシュームの両方を目的として微調整された一連のデフォルト値が標準で用意されています。つまり、自分で設定する必要があるのは、使用する接続を選択することだけです。 次の例では、​`localhost`​ のブローカーへの最低限の接続を設定しています。 ```example ``` AMQP Connector の Apache Maven pom.xml ファイルの連動関係は次のとおりです。 ```example com.mulesoft.connectors mule-amqp-connector 1.6.0 mule-plugin ``` ``​ を使用していることを確認します。バージョンを指定するには、Anypoint Exchange で [AMQP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-amqp-connector/)​ を参照して ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ### [](#グローバルデフォルトの定義)グローバルデフォルトの定義 メッセージをコンシュームまたはパブリッシュする際に使用する一連のデフォルトパラメーターを定義できます。この方法では、設定に関連するすべての操作のグローバルのデフォルト動作を定義し、カスタム動作が必要な操作でのみ各パラメーターを上書きすることができます。 たとえば、サイズに関しておよびメッセージ全体に関してプリフェッチサイズウィンドウを定義できます。 ```example ``` 前の例では、この設定に関連付けられたすべての ​`consume`​ 操作またリスナーは ​`IMMEDIATE`​ 種別の肯定応答モードを使用しますが、すべての ​`publish`​ または ​`publish-consume`​ 操作では、送信メッセージでブローカーからの確認が要求されます。 これらすべてのプロパティは必要に応じて操作レベルで上書きできます。たとえば、ブローカーからの確認を必要としないメッセージをパブリッシュする必要がある場合は、次のように指定します。 ```example ``` ## [](#ブローカーへの接続)ブローカーへの接続 AMQP 接続は、すべての接続に適用される全般的なパラメーターのセットによって定義されます。 ### [](#認証用のログイン情報の提供)認証用のログイン情報の提供 認証済み接続を確立するには、​`connection`​ 要素で ​`username`​、​`password`​、​`virtualhost`​ を設定する必要があります。 ```example ``` ### [](#ブローカーへの-tlsssl-接続の設定)ブローカーへの TLS/SSL 接続の設定 デフォルトの TLS コンテキストでパラメーター ​`useTls`​ を使用して、ブローカーへのセキュアな接続を作成できます。次の方法で接続の子要素またはグローバル要素としてカスタム TLS コンテキストを提供することもできます。 ```example ``` ### [](#server-name-indication)Server Name Indication AMQP Connector v1.1.0 以降では、Server Name Indication (SNI) がサポートされています。ブローカーで SNI がサポートされている場合、ホスト名を検証して、同じ IP アドレスに別の証明書を提供できます。 パラメーター ​`useSNI`​ を使用して、SSL ハンドシェイク中に AMQP クライアントが ​`ClientHello`​ メッセージの拡張機能としてホスト名を追加する必要があることを示します。 ```example ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-consume) - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish) - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-listener) - [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish-consume) - [メッセージ肯定応答](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-ack) - [AMQP でのトランザクション](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-transactions) - [AMQP Connector リファレンス](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector 1.7 AMQP 用 Anypoint Connector (AMQP Connector) により、アプリケーションは AMQP 0.9.1 準拠のブローカーを使用してメッセージングをパブリッシュおよびコンシュームできます。このコネクタの主な機能は次のとおりです。 - 非公開の一時キューを使用する要求-返信のコンシュームでの RPC パターン - 省略可能なチャネル自己回復を備えた SDK トランザクション管理 - タイムアウトのある同期メッセージ要求 - 交換とキューの宣言の管理操作 - すべての AMQP メッセージプロパティ (カスタムヘッダーを含む) - Reply To (返信先) (デフォルトの交換に返信をパブリッシュする) - 自動、Mule 駆動型、手動のメッセージ肯定応答 - 手動のメッセージ拒否 - 必須および即時のパブリッシュパラメーターと、エラー処理で返される (配信不能) メッセージの処理 - プリフェッチサイズとプリフェッチ数の「サービス品質」設定 - noLocal および排他的なコンシューマー - TLS/SSL 接続 - JMS Connector で提供されるようなメッセージビルダー機能 ## [](#configuration_settings)コネクタの設定 AMQP Connector には、メッセージのパブリッシュとコンシュームの両方を目的として微調整された一連のデフォルト値が標準で用意されています。つまり、自分で設定する必要があるのは、使用する接続を選択することだけです。 次の例では、​`localhost`​ のブローカーへの最低限の接続を設定しています。 ```example ``` ### [](#グローバルデフォルトの定義)グローバルデフォルトの定義 メッセージをコンシュームまたはパブリッシュする際に使用する一連のデフォルトパラメーターを定義できます。この方法では、設定に関連するすべての操作のグローバルのデフォルト動作を定義し、カスタム動作が必要な操作でのみ各パラメーターを上書きすることができます。 たとえば、サイズに関しておよびメッセージ全体に関してプリフェッチサイズウィンドウを定義できます。 ```example ``` 前の例では、この設定に関連付けられたすべての ​`consume`​ 操作またリスナーは ​`IMMEDIATE`​ 種別の肯定応答モードを使用しますが、すべての ​`publish`​ または ​`publish-consume`​ 操作では、送信メッセージでブローカーからの確認が要求されます。 これらすべてのプロパティは必要に応じて操作レベルで上書きできます。たとえば、ブローカーからの確認を必要としないメッセージをパブリッシュする必要がある場合は、次のように指定します。 ```example ``` ## [](#ブローカーへの接続)ブローカーへの接続 AMQP 接続は、すべての接続に適用される全般的なパラメーターのセットによって定義されます。 ### [](#認証用のログイン情報の提供)認証用のログイン情報の提供 認証済み接続を確立するには、​`connection`​ 要素で ​`username`​、​`password`​、​`virtualhost`​ を設定する必要があります。 ```example ``` ### [](#ブローカーへの-tlsssl-接続の設定)ブローカーへの TLS/SSL 接続の設定 デフォルトの TLS コンテキストでパラメーター ​`useTls`​ を使用して、ブローカーへのセキュアな接続を作成できます。次の方法で接続の子要素またはグローバル要素としてカスタム TLS コンテキストを提供することもできます。 ```example ``` ### [](#server-name-indication)Server Name Indication AMQP Connector v1.1.0 以降では、Server Name Indication (SNI) がサポートされています。ブローカーで SNI がサポートされている場合、ホスト名を検証して、同じ IP アドレスに別の証明書を提供できます。 パラメーター ​`useSNI`​ を使用して、SSL ハンドシェイク中に AMQP クライアントが ​`ClientHello`​ メッセージの拡張機能としてホスト名を追加する必要があることを示します。 ```example ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-consume) - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish) - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-listener) - [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish-consume) - [メッセージ肯定応答](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-ack) - [AMQP でのトランザクション](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-transactions) - [AMQP Connector リファレンス](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector 1.8 AMQP 用 Anypoint Connector (AMQP Connector) により、アプリケーションは AMQP 0.9.1 準拠のブローカーを使用してメッセージングをパブリッシュおよびコンシュームできます。このコネクタの主な機能は次のとおりです。 - 非公開の一時キューを使用する要求-返信のコンシュームでの RPC パターン - 省略可能なチャネル自己回復を備えた SDK トランザクション管理 - タイムアウトのある同期メッセージ要求 - 交換とキューの宣言の管理操作 - すべての AMQP メッセージプロパティ (カスタムヘッダーを含む) - Reply To (返信先) (デフォルトの交換に返信をパブリッシュする) - 自動、Mule 駆動型、手動のメッセージ肯定応答 - 手動のメッセージ拒否 - 必須および即時のパブリッシュパラメーターと、エラー処理で返される (配信不能) メッセージの処理 - プリフェッチサイズとプリフェッチ数の「サービス品質」設定 - noLocal および排他的なコンシューマー - TLS/SSL 接続 - JMS Connector で提供されるようなメッセージビルダー機能 ## [](#configuration_settings)コネクタの設定 AMQP Connector には、メッセージのパブリッシュとコンシュームの両方を目的として微調整された一連のデフォルト値が標準で用意されています。つまり、自分で設定する必要があるのは、使用する接続を選択することだけです。 次の例では、​`localhost`​ のブローカーへの最低限の接続を設定しています。 ```example ``` ### [](#グローバルデフォルトの定義)グローバルデフォルトの定義 メッセージをコンシュームまたはパブリッシュする際に使用する一連のデフォルトパラメーターを定義できます。この方法では、設定に関連するすべての操作のグローバルのデフォルト動作を定義し、カスタム動作が必要な操作でのみ各パラメーターを上書きすることができます。 たとえば、サイズに関しておよびメッセージ全体に関してプリフェッチサイズウィンドウを定義できます。 ```example ``` 前の例では、この設定に関連付けられたすべての ​`consume`​ 操作またリスナーは ​`IMMEDIATE`​ 種別の肯定応答モードを使用しますが、すべての ​`publish`​ または ​`publish-consume`​ 操作では、送信メッセージでブローカーからの確認が要求されます。 これらすべてのプロパティは必要に応じて操作レベルで上書きできます。たとえば、ブローカーからの確認を必要としないメッセージをパブリッシュする必要がある場合は、次のように指定します。 ```example ``` ## [](#ブローカーへの接続)ブローカーへの接続 AMQP 接続は、すべての接続に適用される全般的なパラメーターのセットによって定義されます。 ### [](#認証用のログイン情報の提供)認証用のログイン情報の提供 認証済み接続を確立するには、​`connection`​ 要素で ​`username`​、​`password`​、​`virtualhost`​ を設定する必要があります。 ```example ``` ### [](#ブローカーへの-tlsssl-接続の設定)ブローカーへの TLS/SSL 接続の設定 デフォルトの TLS コンテキストでパラメーター ​`useTls`​ を使用して、ブローカーへのセキュアな接続を作成できます。次の方法で接続の子要素またはグローバル要素としてカスタム TLS コンテキストを提供することもできます。 ```example ``` ### [](#server-name-indication)Server Name Indication AMQP Connector v1.1.0 以降では、Server Name Indication (SNI) がサポートされています。ブローカーで SNI がサポートされている場合、ホスト名を検証して、同じ IP アドレスに別の証明書を提供できます。 パラメーター ​`useSNI`​ を使用して、SSL ハンドシェイク中に AMQP クライアントが ​`ClientHello`​ メッセージの拡張機能としてホスト名を追加する必要があることを示します。 ```example ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-consume) - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish) - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-listener) - [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish-consume) - [メッセージ肯定応答](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-ack) - [AMQP でのトランザクション](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-transactions) - [AMQP Connector リファレンス](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/amqp> http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-amqp-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`amqp`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/amqp> http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-amqp-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`amqp`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/amqp> http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-amqp-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`amqp`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector のトラブルシューティング AMQP 用 Anypoint Connector (AMQP Connector) のトラブルシューティングを行うには、冗長ログの有効化と、スローされる一般的なメッセージの解釈に関する情報を理解しておきます。 ## [](#冗長ログの有効化)冗長ログの有効化 アプリケーションと AMQP Connector のやりとりが失敗する理由の理解を深めるには、AMQP Connector の冗長ログを一時的に有効にします。 Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。 設定ファイルで冗長ログを有効にする手順は、次のとおりです。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクトを開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. ``​ タグ内に ​``​ タグを追加します。 ```xml ... ... ``` 6. アプリケーションの変更を保存します。 7. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。 ## [](#一般的なスローを理解する)一般的なスローを理解する ここでは、一般的なスローメッセージとその解決方法を示します。 - AMQP:CONNECTIVITY 接続が有効ではなくなりました。破棄されますが、アプリケーションの設定で定義されている場合、再接続ポリシーを適用できます。 - AMQP:CONSUMING メッセージのコンシューム中にエラーが発生し、エラーを識別できませんでした。 - AMQP:CREATION\_NOT\_ALLOWED キューまたはエクスチェンジが存在せず、disableCreationOfFallbackQueues または disableCreationOfFallbackExchanges パラメーターが設定されています。 - AMQP:QUEUE\_NOT\_FOUND 定義されたキューが存在せず、fallbackQueueDefinition が指定されていません。 - AMQP:RETRY\_EXHAUSTED 操作の最大再試行回数に達しました。 - AMQP:TIMEOUT 要求された操作のタイムアウトを超えました。 - AMQP:ILLEGAL\_BODY メッセージ本文が無効です。たとえば、本文が null です。 - AMQP:UNROUTABLE\_MESSAGE メッセージをすぐに配信できなかったか、ブローカーのエクスチェンジ設定に応じてエクスチェンジにバインドされたキューが存在しないため、メッセージを転送できませんでした。 - AMQP:PUBLISHING メッセージのパブリッシュ中にエラーが発生し、エラーを識別できませんでした。 - AMQP:PUBLISHING\_CONSUMING 識別できなかった、パブリッシュ-コンシュームに関する汎用エラー。 - AMQP:EXCHANGE\_NOT\_FOUND 定義されたエクスチェンジが存在せず、fallbackExchangeDefinition が存在しません。 - AMQP:EXCHANGE\_DECLARATION エクスチェンジの宣言中に例外が発生しました。 - AMQP:BLOCKED\_BROKER リソースがなくなりブローカーがブロックされたため、メッセージの送信中にエラーが発生しました。 - AMQP:ACKNOWLEDGING 識別できなかった、肯定応答に関する汎用エラー。 - AMQP:DELIVER\_TAG\_NOT\_FOUND 肯定応答のための配信タグをブローカーで見つけることができませんでした。 - AMQP:REJECTING 識別できなかった、拒否に関する汎用エラー。 - AMQP:REQUEUE キューへの再登録プロセスに関する汎用エラー。 - AMQP:NO\_CHANNEL\_AVAILABLE チャネルを使用できない場合の汎用エラー。 ## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [AMQP Connector リファレンス](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-documentation) # AMQP Connector のトラブルシューティング AMQP 用 Anypoint Connector (AMQP Connector) のトラブルシューティングを行うには、冗長ログの有効化と、スローされる一般的なメッセージの解釈に関する情報を理解しておきます。 ## [](#冗長ログの有効化)冗長ログの有効化 アプリケーションと AMQP Connector のやりとりが失敗する理由の理解を深めるには、AMQP Connector の冗長ログを一時的に有効にします。 Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。 設定ファイルで冗長ログを有効にする手順は、次のとおりです。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクトを開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. ``​ タグ内に ​``​ タグを追加します。 ```xml ... ... ``` 6. アプリケーションの変更を保存します。 7. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。 ## [](#一般的なスローを理解する)一般的なスローを理解する ここでは、一般的なスローメッセージとその解決方法を示します。 - AMQP:CONNECTIVITY 接続が有効ではなくなりました。破棄されますが、アプリケーションの設定で定義されている場合、再接続ポリシーを適用できます。 - AMQP:CONSUMING メッセージのコンシューム中にエラーが発生し、エラーを識別できませんでした。 - AMQP:CREATION\_NOT\_ALLOWED キューまたはエクスチェンジが存在せず、disableCreationOfFallbackQueues または disableCreationOfFallbackExchanges パラメーターが設定されています。 - AMQP:QUEUE\_NOT\_FOUND 定義されたキューが存在せず、fallbackQueueDefinition が指定されていません。 - AMQP:RETRY\_EXHAUSTED 操作の最大再試行回数に達しました。 - AMQP:TIMEOUT 要求された操作のタイムアウトを超えました。 - AMQP:ILLEGAL\_BODY メッセージ本文が無効です。たとえば、本文が null です。 - AMQP:UNROUTABLE\_MESSAGE メッセージをすぐに配信できなかったか、ブローカーのエクスチェンジ設定に応じてエクスチェンジにバインドされたキューが存在しないため、メッセージを転送できませんでした。 - AMQP:PUBLISHING メッセージのパブリッシュ中にエラーが発生し、エラーを識別できませんでした。 - AMQP:PUBLISHING\_CONSUMING 識別できなかった、パブリッシュ-コンシュームに関する汎用エラー。 - AMQP:EXCHANGE\_NOT\_FOUND 定義されたエクスチェンジが存在せず、fallbackExchangeDefinition が存在しません。 - AMQP:EXCHANGE\_DECLARATION エクスチェンジの宣言中に例外が発生しました。 - AMQP:BLOCKED\_BROKER リソースがなくなりブローカーがブロックされたため、メッセージの送信中にエラーが発生しました。 - AMQP:ACKNOWLEDGING 識別できなかった、肯定応答に関する汎用エラー。 - AMQP:DELIVER\_TAG\_NOT\_FOUND 肯定応答のための配信タグをブローカーで見つけることができませんでした。 - AMQP:REJECTING 識別できなかった、拒否に関する汎用エラー。 - AMQP:REQUEUE キューへの再登録プロセスに関する汎用エラー。 - AMQP:NO\_CHANNEL\_AVAILABLE チャネルを使用できない場合の汎用エラー。 ## [](#関連情報)関連情報 - [AMQP Connector リファレンス](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Known Issues](https://help.salesforce.com/s/issues) # AMQP Connector の例 AMQP 用 Anypoint Connector (AMQP Connector) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [メッセージ肯定応答の管理](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-ack) 成功時の自動肯定応答、即時肯定応答、手動肯定応答など、さまざまな肯定応答設定を管理するように AMQP Connector を設定します。 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-listener) 新しいメッセージが AMQP キューに到着した時点でリスンするように ​**Listener**​ ソースを設定します。 - [新規メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish) 新しい AMQP メッセージを作成して、指定したエクスチェンジに送信するように ​**Publish**​ 操作を設定します。 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-consume) 任意の AMQP キューからフローの任意の時点でメッセージをコンシュームするように ​**Consume**​ 操作を設定します。 - [メッセージのパブリッシュと返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish-consume) メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機するように ​**Publish consume**​ 操作を設定します。 - [トランザクションの管理](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-transactions) 一連の操作を実行するトランザクション接続を管理するように AMQP Connector を設定します。 - [AMQP トポグラフィの変更を回避](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-topography) AMQP のエクスチェンジとキューの宣言が無効になるように AMQP Connector のグローバル設定プロパティを設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector の例 AMQP 用 Anypoint Connector (AMQP Connector) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [メッセージ肯定応答の管理](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-ack) 成功時の自動肯定応答、即時肯定応答、手動肯定応答など、さまざまな肯定応答設定を管理するように AMQP Connector を設定します。 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-listener) 新しいメッセージが AMQP キューに到着した時点でリスンするように Listener ソースを設定します。 - [新規メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish) 新しい AMQP メッセージを作成して、指定したエクスチェンジに送信するように Publish 操作を設定します。 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-consume) 任意の AMQP キューからフローの任意の時点でメッセージをコンシュームするように Consume 操作を設定します。 - [メッセージのパブリッシュと返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish-consume) メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機するように Publish Consume 操作を設定します。 - [トランザクションの管理](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-transactions) 一連の操作を実行するトランザクション接続を管理するように AMQP Connector を設定します。 - [AMQP トポグラフィの変更を回避](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-topography) AMQP のエクスチェンジとキューの宣言が無効になるように AMQP Connector のグローバル設定プロパティを設定します。 - [mTLS への接続](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-mtls) 相互 TLS (mTLS) 認証を使用して AMQP ブローカーに接続するように AMQP Connector を設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector の例 AMQP 用 Anypoint Connector (AMQP Connector) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [メッセージ肯定応答の管理](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-ack) 成功時の自動肯定応答、即時肯定応答、手動肯定応答など、さまざまな肯定応答設定を管理するように AMQP Connector を設定します。 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-listener) 新しいメッセージが AMQP キューに到着した時点でリスンするように Listener ソースを設定します。 - [新規メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish) 新しい AMQP メッセージを作成して、指定したエクスチェンジに送信するように Publish 操作を設定します。 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-consume) 任意の AMQP キューからフローの任意の時点でメッセージをコンシュームするように Consume 操作を設定します。 - [メッセージのパブリッシュと返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish-consume) メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機するように Publish Consume 操作を設定します。 - [トランザクションの管理](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-transactions) 一連の操作を実行するトランザクション接続を管理するように AMQP Connector を設定します。 - [AMQP トポグラフィの変更を回避](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-topography) AMQP のエクスチェンジとキューの宣言が無効になるように AMQP Connector のグローバル設定プロパティを設定します。 - [mTLS への接続](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-mtls) 相互 TLS (mTLS) 認証を使用して AMQP ブローカーに接続するように AMQP Connector を設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # AMQP Connector リファレンス AMQP Connector v1.6 リリースノート: [AMQP Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-amqp) AMQP 用 Anypoint Connector は AMQP 0.9.1 準拠の MuleSoft 拡張機能であり、AMQP メッセージをコンシュームおよび生成するために使用されます。この拡張機能では、エクスチェンジとキュー、コンシューマー、肯定応答モード、ローカルトランザクションを含む AMQP 機能がサポートされます。 ## [](#設定)設定 * * * ### [](#config)設定 AMQP Connector の基本設定パラメーターは次のとおりです。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Encoding (エンコード)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトエンコード。

Content Type (コンテンツタイプ)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトコンテンツタイプ。

/

Create Fallback Queue (代替キューを作成)

String (文字列)

代替定義が指定されている場合にその定義に従って存在しないキューを作成するかどうか。

true

Create Fallback Exchange (代替エクスチェンジを作成)

String (文字列)

代替定義が指定されている場合にその定義に従って存在しないエクスチェンジを作成するかどうか。

true

接続の設定。 #### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

接続先のブローカーのホスト。

x

Port (ポート)

Number (数値)

接続先の AMQP ブローカーのポート。

  • セキュアでない接続の場合は ​5672​

  • セキュアな接続の場合は ​5671

Username (ユーザー名)

String (文字列)

認証のログイン情報を提供するときに使用するユーザー名。

x

Password (パスワード)

String (文字列)

認証のログイン情報を提供するときに使用するパスワード。

x

useTls

Boolean (ブール)

TLS が必要かどうか。指定しない場合、AMQP 接続のデフォルトが使用されます。

false

heartbeatTimeout

Boolean (ブール)

ハートビートタイムアウト。ハートビートフレームは、タイムアウトの約 1/2 の間隔で送信されます。(v1.2.0 以降)

60

handshakeTimeoutTimeUnit

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

ハンドシェイクタイムアウト AMQP 接続ソケット設定の時間単位。(v1.5.0 以降)

MILLISECONDS

handshakeTimeout

Integer (整数)

基盤となる AMQP Connector に設定する AMQP 0.9.1 タイムアウト。(v1.5.0 以降)

AMQP クライアントによるデフォルト (10000 ミリ秒)

fallbackAddresses

List of Fallback Addresses (host, port) (代替アドレスのリスト (ホスト、ポート))

メインブローカーへの接続に失敗した場合に接続を試行するブローカーノードのアドレス。(v1.3.0 以降)

代替アドレスなし

コンシューマーの設定。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • AUTO

  • MANUAL

メッセージをコンシュームするときに使用する ConsumerAckMode。メッセージソースレベルで上書きできます。

IMMEDIATE

No Local (非ローカル)

Boolean (ブール)

true​ に設定されている場合、サーバーはメッセージをパブリッシュした接続にメッセージを送信しません。

false

Exclusive Consumers (排他的なコンシューマー)

Boolean (ブール)

コネクタで排他的なコンシューマーのみを作成する必要がある場合に ​true​ に設定します。つまり、作成されたコンシューマーのみがキューにアクセスできます。

false

Number of Consumers (コンシューマー数)

Integer (整数)

AMQP メッセージを受信するためにメッセージソースによって実行されるコンシューマーの数。各コンシューマーでチャネルが作成されます。

4

パブリッシャーの設定。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • PERSISTENT

  • TRANSIENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Priority (優先度)

Integer (整数)

AMQP ブローカーにパブリッシュするときに使用する優先度。

0

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

確認が行われない場合に失敗するかどうか。

false

必須

Boolean (ブール)

メッセージをキューにルーティングできない場合に操作に失敗するかどうか。

false

Immediate (即時)

Boolean (ブール)

メッセージをキューコンシューマーに即時にルーティングできない場合に操作に失敗するかどうか。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

サービス品質の設定。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Prefetch Size (プリフェッチサイズ)

Integer (整数)

この項目では、プリフェッチサイズウィンドウを定義します。ブローカーは、prefetchSize ウィンドウ (バイト) を超えない範囲でできるだけ多くのメッセージを送信します。特定の上限を設定しない場合は、​0​ を使用します。

0

Prefetch Count (プリフェッチ数)

Integer (整数)

メッセージ全体に関してグローバルプリフェッチウィンドウを指定します。この項目は、プリフェッチサイズ項目と組み合わせて使用します。両方のプリフェッチウィンドウで許可されている場合にのみメッセージが事前に送信されます。特定の上限を設定しない場合は、​0​ を使用します。

0

AMQP フレームハンドラーのソケット設定。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Keep Alive (キープアライブ)

Boolean (ブール)

基盤となる AMQP Connector に設定するキープアライブ (v1.5.0 以降)。

false

soTimeoutTimeUnit

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SO_TIMEOUT​ AMQP 接続ソケット設定の時間単位 (v1.5.0 以降)。

MILLISECONDS

soTimeout

Integer (整数)

基盤となる AMQP Connector に設定する ​SO_TIMEOUT​ (v1.5.0 以降)。

ユーザー環境のデフォルト

receiveBufferSize

Integer (整数)

基盤となる AMQP Connector に設定する受信バッファサイズ (v1.5.0 以降)。

ユーザー環境のデフォルト

sendBufferSize

Integer (整数)

基盤となる AMQP Connector に設定する送信バッファサイズ (v1.5.0 以降)。

ユーザー環境のデフォルト

## [](#操作)操作 - [Consume](#consume) - [Publish](#publish) - [Publish Consume](#publishConsume) - [Ack](#ack) - [Reject](#reject) ## [](#ソース)ソース - [リスナー](#listener) ### [](#consume)Consume `` ユーザーが任意のキューから単一の AMQP メッセージをコンシュームできるようにする操作。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue name (キュー名)

String (文字列)

メッセージがコンシュームされるキューの名前。

x

Content Type (コンテンツタイプ)

String (文字列)

メッセージのコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージのコンテンツエンコード。

Fallback Queue Definition (代替キュー定義)

Definition of a Queue (キューの定義)

queueName のキューがない場合にキューを宣言するために使用されるキュー定義。

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • MANUAL

メッセージとセッションで設定する ConsumerAckMode。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージを待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

[Maximum wait time (最大待機時間)]​ 設定で使用する時間単位。

MILLISECONDS

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Any (任意)

Attributes Type (属性型)

#### [](#次の設定の場合)次の設定の場合 - [設定](#config) #### [](#スロー)スロー - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:CREATION\_NOT\_ALLOWED - AMQP:QUEUE\_NOT\_FOUND - AMQP:RETRY\_EXHAUSTED - AMQP:TIMEOUT ### [](#publish)Publish `` ユーザーが単一の AMQP メッセージを任意のエクスチェンジにパブリッシュできるようにする操作。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

x

Fallback Exchange Definition (代替エクスチェンジ定義)

Definition of an Exchange (エクスチェンジの定義)

exchangeName のエクスチェンジがない場合にエクスチェンジを宣言するために使用されるエクスチェンジ定義。

Routing Keys (ルーティングキー)

LIST

ルーティングキーのリスト。

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • PERSISTENT

  • TRANSIENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Correlation Id (相関 ID)

String (文字列)

メッセージの AMQPCorrelationID ヘッダー。

ContentType

String (文字列)

本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージの本文の outboundEncoding。

Reply To (返信先)

String (文字列)

このメッセージの返信先となるキューの AMQP ​replyTo​ プロパティ情報。

User Properties (ユーザープロパティ)

Object (オブジェクト)

このメッセージについて設定するカスタムユーザープロパティ。各プロパティは他のデフォルトの AMQP ユーザープロパティとマージされます。すべての AMQP ユーザープロパティは単一のオブジェクトで一度に設定されます。このオブジェクトは、​#[output application/json --- { userName: vars.user, appName: 'myApp'}]​ のように DataWeave オブジェクトとして書き込めます。続いて、ユーザープロパティオブジェクトのそれぞれのキー/値が個別の AMQP ユーザープロパティとして設定されます。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#次の設定の場合-2)次の設定の場合 - [設定](#config) #### [](#スロー-2)スロー - AMQP:CREATION\_NOT\_ALLOWED - AMQP:ILLEGAL\_BODY - AMQP:PUBLISHING - AMQP:RETRY\_EXHAUSTED - AMQP:UNROUTABLE\_MESSAGE ### [](#publishConsume)Publish Consume `` AMQP エクスチェンジにメッセージを送信し、指定された replyTo 宛先または動的に作成される一時的な宛先への応答を待機します。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

x

Correlation Id (相関 ID)

String (文字列)

メッセージの AMQPCorrelationID ヘッダー。

ContentType

String (文字列)

本文のコンテンツタイプ。

/

Encoding (エンコード)

String (文字列)

メッセージの本文の outboundEncoding。

User Properties (ユーザープロパティ)

Object (オブジェクト)

このメッセージについて設定する必要があるカスタムユーザープロパティ。各プロパティは他のデフォルトの AMQP ユーザープロパティとマージされます。すべての AMQP ユーザープロパティは単一のオブジェクトで一度に設定されます。このオブジェクトは、​#[output application/json --- { userName: vars.user, appName: 'myApp'}]​ のように DataWeave オブジェクトとして書き込めます。続いて、ユーザープロパティオブジェクトのそれぞれのキー/値が個別の AMQP ユーザープロパティとして設定されます。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージを待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

maximumWaitTime 設定で使用する時間単位。

MILLISECONDS

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-2)出力

型

Any (任意)

Attributes Type (属性型)

#### [](#次の設定の場合-3)次の設定の場合 - [設定](#config) #### [](#スロー-3)スロー - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:CREATION\_NOT\_ALLOWED - AMQP:ILLEGAL\_BODY - AMQP:PUBLISHING - AMQP:PUBLISHING\_CONSUMING - AMQP:QUEUE\_NOT\_FOUND - AMQP:RETRY\_EXHAUSTED - AMQP:TIMEOUT ### [](#ack)Ack `` ユーザーが配信された AMQP メッセージを肯定応答できるようにする操作。 #### [](#パラメーター-10)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

肯定応答するメッセージの AckId。

x

### [](#reject)Reject `` ユーザーが配信された AMQP メッセージを拒否できるようにする操作。 #### [](#パラメーター-11)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

肯定応答するメッセージの AckId。

x

Requeue (キューに再登録)

Boolean (ブール)

拒否されたメッセージをキューに再登録する必要があるかどうかを示します。

false

## [](#ソース-2)ソース ### [](#listener)リスナー `` 受信メッセージをリスンするためのキューの AMQP リスナー。 #### [](#パラメーター-12)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue Name (キュー名)

String (文字列)

コンシュームするキューの名前。

x

Number Of Consumers (コンシューマー数)

Number (数値)

AMQP メッセージを受信するために使用する同時コンシューマー数。

4

Consumer Tag (コンシューマータグ)

String (文字列)

コンテキストを確立するためにクライアントによって生成されたコンシューマータグ。

4

Recovery Strategy (回復戦略)

Enumeration (列挙)。次のいずれかになります。

  • None (なし)

  • NO_REQUEUE​

  • REQUEUE

チャネル回復またはロールバックの実行時に使用する戦略。

REQUEUE

Inbound content type (インバウンドコンテンツタイプ)

String (文字列)

メッセージ本文のコンテンツタイプ。

Inbound encoding (インバウンドエンコード)

String (文字列)

メッセージの本文の inboundEncoding。

## [](#型)型 ### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー)
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

正常に処理されずにプロセス失敗メッセージがトリガーされるまでにメッセージを再配信できる最大回数。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

使用するセキュアハッシュアルゴリズム。設定されていない場合。

SHA-256

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断するために使用する 1 つ以上の式を定義します。このプロパティは、useSecureHash が ​false​ の場合にのみ使用できます。

Object Store (オブジェクトストア)

ObjectStore

各メッセージの再配信カウンターが保存されるオブジェクトストア。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

## [](#queue-definition)キュー定義 ### [](#パラメーター-13)パラメーター
名前 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたキューをブローカーから削除するタイミングを定義します。

EXPLICIT

Exchange to Bind (バインドするエクスチェンジ)

String (文字列)

キューのバインド先のエクスチェンジを定義します。

Binding Routing Key (ルーティングキーのバインド)

String (文字列)

エクスチェンジへのバインドで使用するルーティングキーを定義します。(v1.4.0 以降)

## [](#exchange-definition)交換定義 ### [](#パラメーター-14)パラメーター
名前 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたエクスチェンジをブローカーから削除するタイミングを定義します。

EXPLICIT

Exchange Type (エクスチェンジ種別)

Enumeration (列挙)。次のいずれかになります。

  • DIRECT

  • TOPIC

  • FANOUT (論理出力)

  • HEADERS

宣言するエクスチェンジの種別。

FANOUT

## [](#AMQPAttributes)AMQP Attributes (SOAP 属性) ### [](#パラメーター-15)パラメーター
名前 型 説明 デフォルト値 必須

Envelope (エンベロープ)

ENVELOPE

AMQP の基本的な方法で使用されるパラメーターのグループをカプセル化します。

Properties (プロパティ)

PROPERTIES

AMQP メッセージのプロパティ。

ヘッダー

MAP

AMQP メッセージヘッダー。

## [](#Envelope)Envelope (エンベロープ) ### [](#パラメーター-16)パラメーター
名前 型 説明 デフォルト値 必須

Delivery Tag (配信タグ)

Number (数値)

配信タグ。

Redeliver (再配信)

Boolean (ブール)

これが失敗した肯定応答の後の再配信の場合は true。

Exchange

String (文字列)

現在の操作で使用されるエクスチェンジ。

routingKey

String (文字列)

関連付けられたルーティングキー。

## [](#Properties)Properties (プロパティ) ### [](#パラメーター-17)パラメーター
名前 型 説明 デフォルト値 必須

Content-Type (コンテンツタイプ)

String (文字列)

メッセージのコンテンツタイプ。

Content Encoding (コンテンツエンコード)

String (文字列)

メッセージのコンテンツエンコード。

Priority (優先度)

Number (数値)

AMQP ブローカーにパブリッシュするときに使用する優先度。

Correlation Id (相関 ID)

String (文字列)

要求-返信のメッセージで識別される RPC パターンを実装する場合に使用されます。

Message Id (メッセージ ID)

String (文字列)

メッセージのメッセージ ID。

Reply To (返信先)

String (文字列)

RPC の場合に設定される宛先。

Expiration (有効期限)

String (文字列)

メッセージの有効期限 (時間) を指定します。

Expiration time unit (有効期限の時間単位)

メッセージの有効期限 (時間) の時間単位を指定します。

User Id (ユーザー ID)

String (文字列)

メッセージのユーザー ID。

App Id (アプリケーション ID)

String (文字列)

メッセージのアプリケーション ID。

Cluster Id (クラスター ID)

String (文字列)

メッセージのクラスター ID。

Timestamp (タイムスタンプ)

TIMESTAMP

コンシュームされたメッセージのタイムスタンプ。

型

## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [AMQP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-amqp-connector/) # AMQP Connector リファレンス AMQP Connector v1.7 リリースノート: [AMQP Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-amqp) AMQP 用 Anypoint Connector は AMQP 0.9.1 準拠の MuleSoft 拡張機能であり、AMQP メッセージをコンシュームおよび生成するために使用されます。この拡張機能では、エクスチェンジとキュー、コンシューマー、肯定応答モード、ローカルトランザクションを含む AMQP 機能がサポートされます。 ## [](#設定)設定 * * * ### [](#config)設定 AMQP Connector の基本設定パラメーターは次のとおりです。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Encoding (エンコード)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトエンコード。

Content Type (コンテンツタイプ)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトコンテンツタイプ。

/

Create Fallback Queue (代替キューを作成)

String (文字列)

代替定義が指定されている場合にその定義に従って存在しないキューを作成するかどうか。

true

Create Fallback Exchange (代替エクスチェンジを作成)

String (文字列)

代替定義が指定されている場合にその定義に従って存在しないエクスチェンジを作成するかどうか。

true

接続の設定。 #### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

接続先のブローカーのホスト。

x

Port (ポート)

Number (数値)

接続先の AMQP ブローカーのポート。

  • セキュアでない接続の場合は ​5672​

  • セキュアな接続の場合は ​5671

Username (ユーザー名)

String (文字列)

認証のログイン情報を提供するときに使用するユーザー名。

Password (パスワード)

String (文字列)

認証のログイン情報を提供するときに使用するパスワード。

useTls

Boolean (ブール)

TLS が必要かどうか。指定しない場合、AMQP 接続のデフォルトが使用されます。

false

useSNI

Boolean (ブール)

ClientHello メッセージで Server Name Indication を使用する必要があるかどうか。

false

x

useSasl

Boolean (ブール)

SASL (外部) 認証メカニズム (ユーザー名やパスワードは不要) が使用されているかどうか。

false

x

heartbeatTimeout

Boolean (ブール)

ハートビートタイムアウト。ハートビートフレームは、タイムアウトの約 1/2 の間隔で送信されます。(v1.2.0 以降)

60

handshakeTimeoutTimeUnit

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

ハンドシェイクタイムアウト AMQP 接続ソケット設定の時間単位。(v1.5.0 以降)

MILLISECONDS

handshakeTimeout

Integer (整数)

基盤となる AMQP Connector に設定する AMQP 0.9.1 タイムアウト。(v1.5.0 以降)

AMQP クライアントによるデフォルト (10000 ミリ秒)

fallbackAddresses

List of Fallback Addresses (host, port) (代替アドレスのリスト (ホスト、ポート))

メインブローカーへの接続に失敗した場合に接続を試行するブローカーノードのアドレス。(v1.3.0 以降)

代替アドレスなし

ユーザーとパスワードは省略可能で、useSasl が無効化されたときにそれらの存在が検証されます。 useSasl を有効にするには、UseTLS が必要です。 コンシューマーの設定。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • AUTO

  • MANUAL

メッセージをコンシュームするときに使用する ConsumerAckMode。メッセージソースレベルで上書きできます。

IMMEDIATE

No Local (非ローカル)

Boolean (ブール)

true​ に設定されている場合、サーバーはメッセージをパブリッシュした接続にメッセージを送信しません。

false

Exclusive Consumers (排他的なコンシューマー)

Boolean (ブール)

コネクタで排他的なコンシューマーのみを作成する必要がある場合に ​true​ に設定します。つまり、作成されたコンシューマーのみがキューにアクセスできます。

false

Number of Consumers (コンシューマー数)

Integer (整数)

AMQP メッセージを受信するためにメッセージソースによって実行されるコンシューマーの数。各コンシューマーでチャネルが作成されます。

4

パブリッシャーの設定。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • PERSISTENT

  • TRANSIENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Priority (優先度)

Integer (整数)

AMQP ブローカーにパブリッシュするときに使用する優先度。

0

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

確認が行われない場合に失敗するかどうか。

false

必須

Boolean (ブール)

メッセージをキューにルーティングできない場合に操作に失敗するかどうか。

false

Immediate (即時)

Boolean (ブール)

メッセージをキューコンシューマーに即時にルーティングできない場合に操作に失敗するかどうか。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

サービス品質の設定。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Prefetch Size (プリフェッチサイズ)

Integer (整数)

この項目では、プリフェッチサイズウィンドウを定義します。ブローカーは、prefetchSize ウィンドウ (バイト) を超えない範囲でできるだけ多くのメッセージを送信します。特定の上限を設定しない場合は、​0​ を使用します。

0

Prefetch Count (プリフェッチ数)

Integer (整数)

メッセージ全体に関してグローバルプリフェッチウィンドウを指定します。この項目は、プリフェッチサイズ項目と組み合わせて使用します。両方のプリフェッチウィンドウで許可されている場合にのみメッセージが事前に送信されます。特定の上限を設定しない場合は、​0​ を使用します。

0

AMQP フレームハンドラーのソケット設定。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Keep Alive (キープアライブ)

Boolean (ブール)

基盤となる AMQP Connector に設定するキープアライブ (v1.5.0 以降)。

false

soTimeoutTimeUnit

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SO_TIMEOUT​ AMQP 接続ソケット設定の時間単位 (v1.5.0 以降)。

MILLISECONDS

soTimeout

Integer (整数)

基盤となる AMQP Connector に設定する ​SO_TIMEOUT​ (v1.5.0 以降)。

ユーザー環境のデフォルト

receiveBufferSize

Integer (整数)

基盤となる AMQP Connector に設定する受信バッファサイズ (v1.5.0 以降)。

ユーザー環境のデフォルト

sendBufferSize

Integer (整数)

基盤となる AMQP Connector に設定する送信バッファサイズ (v1.5.0 以降)。

ユーザー環境のデフォルト

## [](#操作)操作 - [Consume](#consume) - [Publish](#publish) - [Publish Consume](#publishConsume) - [Ack](#ack) - [Reject](#reject) ## [](#ソース)ソース - [リスナー](#listener) ### [](#consume)Consume `` ユーザーが任意のキューから単一の AMQP メッセージをコンシュームできるようにする操作。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue name (キュー名)

String (文字列)

メッセージがコンシュームされるキューの名前。

x

Content Type (コンテンツタイプ)

String (文字列)

メッセージのコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージのコンテンツエンコード。

Fallback Queue Definition (代替キュー定義)

Definition of a Queue (キューの定義)

queueName のキューがない場合にキューを宣言するために使用されるキュー定義。

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • MANUAL

メッセージとセッションで設定する ConsumerAckMode。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージを待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

[Maximum wait time (最大待機時間)]​ 設定で使用する時間単位。

MILLISECONDS

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Any (任意)

Attributes Type (属性型)

#### [](#次の設定の場合)次の設定の場合 - [設定](#config) #### [](#スロー)スロー - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:CREATION\_NOT\_ALLOWED - AMQP:QUEUE\_NOT\_FOUND - AMQP:RETRY\_EXHAUSTED - AMQP:TIMEOUT ### [](#publish)Publish `` ユーザーが単一の AMQP メッセージを任意のエクスチェンジにパブリッシュできるようにする操作。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

x

Fallback Exchange Definition (代替エクスチェンジ定義)

Definition of an Exchange (エクスチェンジの定義)

exchangeName のエクスチェンジがない場合にエクスチェンジを宣言するために使用されるエクスチェンジ定義。

Routing Keys (ルーティングキー)

LIST

ルーティングキーのリスト。

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • PERSISTENT

  • TRANSIENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Correlation Id (相関 ID)

String (文字列)

メッセージの AMQPCorrelationID ヘッダー。

ContentType

String (文字列)

本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージの本文の outboundEncoding。

Reply To (返信先)

String (文字列)

このメッセージの返信先となるキューの AMQP ​replyTo​ プロパティ情報。

User Properties (ユーザープロパティ)

Object (オブジェクト)

このメッセージについて設定するカスタムユーザープロパティ。各プロパティは他のデフォルトの AMQP ユーザープロパティとマージされます。すべての AMQP ユーザープロパティは単一のオブジェクトで一度に設定されます。このオブジェクトは、​#[output application/json --- { userName: vars.user, appName: 'myApp'}]​ のように DataWeave オブジェクトとして書き込めます。続いて、ユーザープロパティオブジェクトのそれぞれのキー/値が個別の AMQP ユーザープロパティとして設定されます。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#次の設定の場合-2)次の設定の場合 - [設定](#config) #### [](#スロー-2)スロー - AMQP:CREATION\_NOT\_ALLOWED - AMQP:ILLEGAL\_BODY - AMQP:PUBLISHING - AMQP:RETRY\_EXHAUSTED - AMQP:UNROUTABLE\_MESSAGE ### [](#publishConsume)Publish Consume `` AMQP エクスチェンジにメッセージを送信し、指定された replyTo 宛先または動的に作成される一時的な宛先への応答を待機します。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

x

Correlation Id (相関 ID)

String (文字列)

メッセージの AMQPCorrelationID ヘッダー。

ContentType

String (文字列)

本文のコンテンツタイプ。

/

Encoding (エンコード)

String (文字列)

メッセージの本文の outboundEncoding。

User Properties (ユーザープロパティ)

Object (オブジェクト)

このメッセージについて設定する必要があるカスタムユーザープロパティ。各プロパティは他のデフォルトの AMQP ユーザープロパティとマージされます。すべての AMQP ユーザープロパティは単一のオブジェクトで一度に設定されます。このオブジェクトは、​#[output application/json --- { userName: vars.user, appName: 'myApp'}]​ のように DataWeave オブジェクトとして書き込めます。続いて、ユーザープロパティオブジェクトのそれぞれのキー/値が個別の AMQP ユーザープロパティとして設定されます。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージを待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

maximumWaitTime 設定で使用する時間単位。

MILLISECONDS

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-2)出力

型

Any (任意)

Attributes Type (属性型)

#### [](#次の設定の場合-3)次の設定の場合 - [設定](#config) #### [](#スロー-3)スロー - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:CREATION\_NOT\_ALLOWED - AMQP:ILLEGAL\_BODY - AMQP:PUBLISHING - AMQP:PUBLISHING\_CONSUMING - AMQP:QUEUE\_NOT\_FOUND - AMQP:RETRY\_EXHAUSTED - AMQP:TIMEOUT ### [](#ack)Ack `` ユーザーが配信された AMQP メッセージを肯定応答できるようにする操作。 #### [](#パラメーター-10)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

肯定応答するメッセージの AckId。

x

### [](#reject)Reject `` ユーザーが配信された AMQP メッセージを拒否できるようにする操作。 #### [](#パラメーター-11)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

肯定応答するメッセージの AckId。

x

Requeue (キューに再登録)

Boolean (ブール)

拒否されたメッセージをキューに再登録する必要があるかどうかを示します。

false

## [](#ソース-2)ソース ### [](#listener)リスナー `` 受信メッセージをリスンするためのキューの AMQP リスナー。 #### [](#パラメーター-12)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue Name (キュー名)

String (文字列)

コンシュームするキューの名前。

x

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • EMPTY

  • IMMEDIATE

  • AUTO

  • MANUAL

メッセージをコンシュームするときに使用する肯定応答モード。​[Transactional action (トランザクションアクション)]​ が ​ALWAYS_BEGIN​ に設定されている場合は上書きされる。

EMPTY

Number Of Consumers (コンシューマー数)

Number (数値)

AMQP メッセージを受信するために使用する同時コンシューマー数。

4

Consumer Tag (コンシューマータグ)

String (文字列)

コンテキストを確立するためにクライアントによって生成されたコンシューマータグ。

4

Recovery Strategy (回復戦略)

Enumeration (列挙)。次のいずれかになります。

  • None (なし)

  • NO_REQUEUE​

  • REQUEUE

チャネル回復またはロールバックの実行時に使用する戦略。

REQUEUE

Inbound content type (インバウンドコンテンツタイプ)

String (文字列)

メッセージ本文のコンテンツタイプ。

Inbound encoding (インバウンドエンコード)

String (文字列)

メッセージの本文の inboundEncoding。

## [](#型)型 ### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー)
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

正常に処理されずにプロセス失敗メッセージがトリガーされるまでにメッセージを再配信できる最大回数。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

使用するセキュアハッシュアルゴリズム。設定されていない場合。

SHA-256

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断するために使用する 1 つ以上の式を定義します。このプロパティは、useSecureHash が ​false​ の場合にのみ使用できます。

Object Store (オブジェクトストア)

ObjectStore

各メッセージの再配信カウンターが保存されるオブジェクトストア。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

## [](#queue-definition)キュー定義 ### [](#パラメーター-13)パラメーター
名前 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたキューをブローカーから削除するタイミングを定義します。

EXPLICIT

Exchange to Bind (バインドするエクスチェンジ)

String (文字列)

キューのバインド先のエクスチェンジを定義します。

Binding Routing Key (ルーティングキーのバインド)

String (文字列)

エクスチェンジへのバインドで使用するルーティングキーを定義します。(v1.4.0 以降)

## [](#exchange-definition)交換定義 ### [](#パラメーター-14)パラメーター
名前 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたエクスチェンジをブローカーから削除するタイミングを定義します。

EXPLICIT

Exchange Type (エクスチェンジ種別)

Enumeration (列挙)。次のいずれかになります。

  • DIRECT

  • TOPIC

  • FANOUT (論理出力)

  • HEADERS

宣言するエクスチェンジの種別。

FANOUT

## [](#AMQPAttributes)AMQP Attributes (SOAP 属性) ### [](#パラメーター-15)パラメーター
名前 型 説明 デフォルト値 必須

Envelope (エンベロープ)

ENVELOPE

AMQP の基本的な方法で使用されるパラメーターのグループをカプセル化します。

Properties (プロパティ)

PROPERTIES

AMQP メッセージのプロパティ。

ヘッダー

MAP

AMQP メッセージヘッダー。

## [](#Envelope)Envelope (エンベロープ) ### [](#パラメーター-16)パラメーター
名前 型 説明 デフォルト値 必須

Delivery Tag (配信タグ)

Number (数値)

配信タグ。

Redeliver (再配信)

Boolean (ブール)

これが失敗した肯定応答の後の再配信の場合は true。

Exchange

String (文字列)

現在の操作で使用されるエクスチェンジ。

routingKey

String (文字列)

関連付けられたルーティングキー。

## [](#Properties)Properties (プロパティ) ### [](#パラメーター-17)パラメーター
名前 型 説明 デフォルト値 必須

Content-Type (コンテンツタイプ)

String (文字列)

メッセージのコンテンツタイプ。

Content Encoding (コンテンツエンコード)

String (文字列)

メッセージのコンテンツエンコード。

Priority (優先度)

Number (数値)

AMQP ブローカーにパブリッシュするときに使用する優先度。

Correlation Id (相関 ID)

String (文字列)

要求-返信のメッセージで識別される RPC パターンを実装する場合に使用されます。

Message Id (メッセージ ID)

String (文字列)

メッセージのメッセージ ID。

Reply To (返信先)

String (文字列)

RPC の場合に設定される宛先。

Expiration (有効期限)

String (文字列)

メッセージの有効期限 (時間) を指定します。

Expiration time unit (有効期限の時間単位)

メッセージの有効期限 (時間) の時間単位を指定します。

User Id (ユーザー ID)

String (文字列)

メッセージのユーザー ID。

App Id (アプリケーション ID)

String (文字列)

メッセージのアプリケーション ID。

Cluster Id (クラスター ID)

String (文字列)

メッセージのクラスター ID。

Timestamp (タイムスタンプ)

TIMESTAMP

コンシュームされたメッセージのタイムスタンプ。

型

## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [AMQP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-amqp-connector/) # AMQP Connector リファレンス AMQP Connector v1.8 リリースノート: [AMQP Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-amqp) AMQP 用 Anypoint Connector は AMQP 0.9.1 準拠の MuleSoft 拡張機能であり、AMQP メッセージをコンシュームおよび生成するために使用されます。この拡張機能では、エクスチェンジとキュー、コンシューマー、肯定応答モード、ローカルトランザクションを含む AMQP 機能がサポートされます。 ## [](#設定)設定 * * * ### [](#config)設定 AMQP Connector の基本設定パラメーターは次のとおりです。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定に指定する接続型。

x

Encoding (エンコード)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトエンコード。

Content Type (コンテンツタイプ)

String (文字列)

メッセージにコンテンツタイプが指定されていない場合に使用するメッセージ本文のデフォルトの contentType。

/

Create Fallback Queue (代替キューを作成)

Boolean (ブール)

代替定義が指定されている場合にその定義に従って存在しないキューを作成するかどうか。

true

Create Fallback Exchange (代替エクスチェンジを作成)

Boolean (ブール)

代替定義が指定されている場合にその定義に従って存在しないエクスチェンジを作成するかどうか。

true

Send Correlation Id (送信相関 ID)

Enumeration (列挙)。次のいずれかになります。

  • AUTO

  • ALWAYS

  • NEVER

メッセージのパブリッシュ時に correlationId を指定するかどうか。操作レベルで指定されるカスタム相関 ID と、現在のイベントから引用されるデフォルト相関 ID の両方に適用されます。

AUTO

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • AUTO

  • MANUAL

AMQP ブローカーからコンシュームするときに使用する肯定応答モード。チャネルでトランザクションが開かれている場合、メッセージ肯定応答はコミットによって自動的に処理され、回復はロールバックによって自動的に処理されます。

IMMEDIATE

No Local (非ローカル)

Boolean (ブール)

true に設定されている場合、サーバーはメッセージをパブリッシュした接続にメッセージを送信しません。

false

Exclusive Consumers (排他的なコンシューマー)

Boolean (ブール)

コネクタが排他的なコンシューマーのみを作成する必要がある場合は、true に設定します。作成されたコンシューマーのみがキューにアクセスできます。

false

Number Of Consumers (コンシューマーの数)

Number (数値)

AMQP メッセージを受信するためにメッセージソースによって実行されるコンシューマーの数。各コンシューマーでチャネルが作成されます。

4

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • TRANSIENT

  • PERSISTENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Priority (優先度)

Number (数値)

AMQP ブローカーにパブリッシュするときに使用する優先度。優先度には 0 ~ 9 の値を指定できます。デフォルトは 0 です。

0

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

確認が行われない場合に失敗するかどうか。

false

必須

Boolean (ブール)

キューにルーティングできない場合に操作に失敗するかどうか。

false

Immediate (即時)

Boolean (ブール)

キューコンシューマーに即時にルーティングできない場合に操作に失敗するかどうか。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

Prefetch Size (プリフェッチサイズ)

Number (数値)

この項目では、プリフェッチサイズウィンドウを定義します。ブローカーは、prefetchSize ウィンドウ (バイト) を超えない範囲でできるだけ多くのメッセージを送信します。特定の上限を設定しない場合は、0 が使用されます。

0

Prefetch Count (プリフェッチ数)

Number (数値)

メッセージ全体に関してグローバルプリフェッチウィンドウを指定します。この項目は、プリフェッチサイズ項目と組み合わせて使用できます。両方のプリフェッチウィンドウで許可されている場合にのみメッセージが事前に送信されます。特定の上限を設定しない場合は、0 が使用されます。

0

#### [](#接続種別)接続種別 ##### [](#config_connection)Connection (接続) AMQP ConnectionProvider の汎用実装。 ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Socket Configuration (ソケット設定)

TLS Configuration (TLS 設定)

TLS

TLS 設定要素への参照。これにより、AMQP ブローカーへのセキュアな接続が可能になります。

Host (ホスト)

String (文字列)

接続先のブローカーのホスト。

x

Port (ポート)

Number (数値)

接続先の AMQP ブローカーのポート。

Virtual Host (仮想ホスト)

String (文字列)

AMQP ブローカーで使用する仮想ホスト。

/

Username (ユーザー名)

String (文字列)

認証のログイン情報を提供するときに使用するユーザー名。

Password (パスワード)

String (文字列)

認証のログイン情報を提供するときに使用するパスワード。

Use Tls (TLS を使用)

Boolean (ブール)

TLS を使用する必要があるかどうか。指定しない場合、AMQP 接続のデフォルトが使用されます。

false

Use Sni (SNI を使用)

Boolean (ブール)

ClientHello メッセージで Server Name Indication を使用する必要があるかどうか。

false

Use Sasl (SASL を使用)

Boolean (ブール)

SASL (外部) 認証メカニズム (ユーザー名やパスワードは不要) が使用されているかどうか。

false

Heartbeat Timeout (ハートビートタイムアウト)

Number (数値)

ハートビートタイムアウト。ハートビートフレームは、タイムアウトの約 1/2 の間隔で送信されます。

60

Handshake Timeout (ハンドシェイクタイムアウト)

Number (数値)

基盤となる AMQP Connector に設定する AMQP 0.9.1 タイムアウト。

Handshake Timeout Time Unit (ハンドシェイクタイムアウト時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

ハンドシェイクタイムアウト AMQP 接続ソケット設定の時間単位。

MILLISECONDS

Fallback Addresses (代替アドレス)

メインブローカーへの接続に失敗した場合に接続を試行するブローカーノードのアドレス。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#サポートされている操作)サポートされている操作 - [Consume](#consume)​ - [Publish](#publish)​ - [Publish Consume](#publishConsume)​ ## [](#関連付けられたソース)関連付けられたソース - [Listener](#listener)​ ## [](#操作)操作 ### [](#consume)Consume `` 任意のキューから単一の AMQP メッセージをコンシュームできます。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue Name (キュー名)

String (文字列)

メッセージをコンシュームするキューの名前。

x

Content Type (コンテンツタイプ)

String (文字列)

メッセージ本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージ本文のエンコード。

Fallback Queue Definition (代替キュー定義)

queueName のキューがない場合にキューを宣言するために使用されるキュー定義。

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • MANUAL

メッセージをコンシュームするときに使用する肯定応答モード。

Consumer Tag (コンシューマータグ)

String (文字列)

操作に関与するコンシューマーに使用するコンシューマータグ。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージの到着を待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

maximumWaitTime 設定で使用する時間単位。

MILLISECONDS

Create Fallback Queue (代替キューを作成)

Boolean (ブール)

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

現在のトランザクションの情報 (存在する場合)。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

storesoperation の出力が配置される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合)次の設定の場合 - [設定](#config)​ #### [](#スロー)スロー - AMQP:QUEUE\_NOT\_FOUND​ - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:NO\_CHANNEL\_AVAILABLE​ - AMQP:RETRY\_EXHAUSTED​ - AMQP:CREATION\_NOT\_ALLOWED​ - AMQP:TIMEOUT ### [](#publish)Publish `` 単一の AMQP 3 メッセージを任意のエクスチェンジにパブリッシュできます。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

Routing Keys (ルーティングキー)

Array of String (文字列の配列)

ルーティングキーのリスト。

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • TRANSIENT

  • PERSISTENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

現在のトランザクションの情報 (存在する場合)。

JOIN_IF_POSSIBLE

Send Correlation Id (送信相関 ID)

Enumeration (列挙)。次のいずれかになります。

  • AUTO

  • ALWAYS

  • NEVER

アウトバウンド相関 ID を含めるかどうかのオプション。

Create Fallback Exchange (代替エクスチェンジを作成)

Boolean (ブール)

Skip Exchange Validation (エクスチェンジ検証をスキップ)

Enumeration (列挙)。次のいずれかになります。

  • YES

エクスチェンジ検証をスキップします。
デフォルトでは、[Skip Exchange Validation (エクスチェンジ検証をスキップ)] 項目を設定しない場合、​Publish​ 操作によってエクスチェンジが検証されます。検証をスキップするとパフォーマンスが向上しますが、このアプローチでは、ブローカーの設定によってはエクスチェンジが存在しない場合にメッセージが失われるリスクもあります。

Fallback Exchange Definition (代替エクスチェンジ定義)

exchangeName のエクスチェンジがない場合にエクスチェンジを宣言するために使用されるエクスチェンジ定義。

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

AMQP Properties (AMQP プロパティ)

メッセージのプロパティ。

Headers (ヘッダー)

Object (オブジェクト)

この AmqpMessage に設定されるカスタムユーザープロパティ。

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

パブリッシュされたメッセージからの確認を要求します。この属性が true に設定されているときに確認が提供されない場合、例外が発生します。

false

Mandatory (必須)

Boolean (ブール)

メッセージをキューにルーティングできない場合の対処方法をサーバーに指示します。true に設定されている場合、サーバーはルーティングできないメッセージに対して例外 (​UNROUTABLE_MESSAGE​、以下の操作仕様を参照) をスローします。false に設定されている場合、サーバーは警告なしでメッセージを破棄します。

false

Immediate (即時)

Boolean (ブール)

メッセージをキューコンシューマーに即時にルーティングできない場合の対処方法をサーバーに指示します。true に設定されている場合、サーバーは配信不能メッセージに対して例外 (​UNROUTABLE_MESSAGE​、以下の操作仕様を参照) をスローします。false に設定されている場合、サーバーはメッセージをキューに入れますが、メッセージがコンシュームされるという保証はありません。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-2)次の設定の場合 - [設定](#config)​ #### [](#スロー-2)スロー - AMQP:PUBLISHING - AMQP:ILLEGAL\_BODY​ - AMQP:CONNECTIVITY - AMQP:UNROUTABLE\_MESSAGE​ - AMQP:EXCHANGE\_NOT\_FOUND​ - AMQP:NO\_CHANNEL\_AVAILABLE​ - AMQP:RETRY\_EXHAUSTED​ - AMQP:CREATION\_NOT\_ALLOWED​ ### [](#publishConsume)Publish Consume `` AMQP エクスチェンジにメッセージを送信し、指定された replyTo 宛先または動的に作成される一時的な宛先への応答を待機できます。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Exchange Name (エクスチェンジ名)

String (文字列)

メッセージのパブリッシュ先のエクスチェンジの名前。

x

Content Type (コンテンツタイプ)

String (文字列)

メッセージ本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

メッセージ本文のエンコード。

Routing Key (ルーティングキー)

String (文字列)

パブリッシュするルーティングキー。

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • TRANSIENT

  • PERSISTENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

Maximum Wait (最大待機)

Number (数値)

タイムアウトとなる前にメッセージの到着を待つ最大時間。

10000

Maximum Wait Unit (最大待機単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

maximumWaitTime 設定で使用する時間単位。

MILLISECONDS

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

現在のトランザクションの情報 (存在する場合)。

JOIN_IF_POSSIBLE

Send Correlation Id (送信相関 ID)

Enumeration (列挙)。次のいずれかになります。

  • AUTO

  • ALWAYS

  • NEVER

アウトバウンド相関 ID を含めるかどうかのオプション。

Create Fallback Exchange (代替エクスチェンジを作成)

Boolean (ブール)

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Skip Exchange Validation (エクスチェンジ検証をスキップ)

Enumeration (列挙)。次のいずれかになります。

  • YES

この項目は、デフォルトでエクスチェンジ検証をスキップすることを目的としており、パラメーターが設定されていない場合は操作によって検証が行われます。エクスチェンジの検証をスキップするとパフォーマンスが向上しますが、エクスチェンジが存在しない場合、ブローカー設定によってはメッセージングの損失が発生する可能性があります。

Fallback Exchange Definition (代替エクスチェンジ定義)

exchangeName のエクスチェンジがない場合にエクスチェンジを宣言するために使用されるエクスチェンジ定義。

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

AMQP Properties (AMQP プロパティ)

メッセージのプロパティ。

Headers (ヘッダー)

Object (オブジェクト)

この AmqpMessage に設定されるカスタムユーザープロパティ。

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

パブリッシュされたメッセージからの確認を要求します。この属性が true に設定されているときに確認が提供されない場合、例外が発生します。

false

必須

Boolean (ブール)

メッセージをキューにルーティングできない場合の対処方法をサーバーに指示します。true に設定されている場合、サーバーはルーティングできないメッセージに対して例外 (​UNROUTABLE_MESSAGE​、以下の操作仕様を参照) をスローします。false に設定されている場合、サーバーは警告なしでメッセージを破棄します。

false

Immediate (即時)

Boolean (ブール)

メッセージをキューコンシューマーに即時にルーティングできない場合の対処方法をサーバーに指示します。true に設定されている場合、サーバーは配信不能メッセージに対して例外 (​UNROUTABLE_MESSAGE​、以下の操作仕様を参照) をスローします。false に設定されている場合、サーバーはメッセージをキューに入れますが、メッセージがコンシュームされるという保証はありません。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

Target Variable (対象変数)

String (文字列)

storesoperation の出力が配置される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-2)出力

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-3)次の設定の場合 - [設定](#config)​ #### [](#スロー-3)スロー - AMQP:PUBLISHING - AMQP:PUBLISHING\_CONSUMING​ - AMQP:CONNECTIVITY - AMQP:CONSUMING - AMQP:NO\_CHANNEL\_AVAILABLE​ - AMQP:RETRY\_EXHAUSTED​ - AMQP:CREATION\_NOT\_ALLOWED​ - AMQP:TIMEOUT ### [](#ack)Ack `` 配信タグを使用してメッセージを肯定応答できます。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

肯定応答するメッセージの配信タグ。

x

#### [](#スロー-4)スロー - AMQP:ACKNOWLEDGING - AMQP:NO\_CHANNEL\_AVAILABLE​ - AMQP:DELIVER\_TAG\_NOT\_FOUND​ - AMQP:TIMEOUT ### [](#reject)Reject `` 配信された AMQP メッセージを拒否できます。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

拒否するメッセージの配信タグ。

x

Requeue (キューに再登録)

Boolean (ブール)

拒否されたメッセージをキューに再登録する必要があるかどうかを示します。

false

#### [](#スロー-5)スロー - AMQP:REQUEUE - AMQP:ACKNOWLEDGING - AMQP:REJECTING - AMQP:DELIVER\_TAG\_NOT\_FOUND​ - AMQP:TIMEOUT ## [](#ソース)ソース ### [](#listener)Listener `` 受信メッセージをリスンできるキューの AMQP リスナー。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Queue Name (キュー名)

String (文字列)

コンシュームするキューの名前。

x

Fallback Queue Definition (代替キュー定義)

指定された queueName のキューがブローカーに存在しない場合に使用するキュー定義の宣言。指定された queueName のキューが存在する場合は、代替を無視してそのまま使用されます。キューが存在しない場合は、参照された定義に従って新しいキューが作成されます。

Ack Mode (肯定応答モード)

Enumeration (列挙)。次のいずれかになります。

  • IMMEDIATE

  • AUTO

  • MANUAL

AMQP ブローカーからコンシュームするときに使用する肯定応答モード。

Number Of Consumers (コンシューマーの数)

Number (数値)

AMQP メッセージを受信するためにインバウンドエンドポイントごとに生成されるチャネルの数。

Consumer Tag (コンシューマータグ)

String (文字列)

コンテキストを確立するためにクライアントによって生成されたコンシューマータグ。

Recover Strategy (回復戦略)

Enumeration (列挙)。次のいずれかになります。

  • NONE

  • NO_REQUEUE​

  • REQUEUE

recoverStrategy オプションの有効な値は、NONE、​NO_REQUEUE​、および REQUEUE です。

REQUEUE

Inbound Encoding (インバウンドエンコード)

String (文字列)

メッセージにエンコードが指定されていない場合に使用するメッセージ本文のデフォルトエンコード。

Inbound Content Type (インバウンドコンテンツタイプ)

String (文字列)

メッセージにコンテンツタイプが指定されていない場合に使用するメッセージ本文のデフォルトの contentType。

Create Fallback Queue (代替キューを作成)

Boolean (ブール)

存在しないキューが代替に従って作成されるか、キューが存在しない場合はエラーが発生するか。AMQP トポグラフィを変更することを目的としていない Mule アプリケーションでは、これは無効にできます。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

ソースがトランザクションに関して実行できる開始アクションの種別。

None (なし)

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Prefetch Size (プリフェッチサイズ)

Number (数値)

この項目では、プリフェッチサイズウィンドウを定義します。ブローカーは、prefetchSize ウィンドウ (バイト) を超えない範囲でできるだけ多くのメッセージを送信します。特定の上限を設定しない場合は、0 が使用されます。

Prefetch Count (プリフェッチ数)

Number (数値)

メッセージ全体に関してグローバルプリフェッチウィンドウを指定します。この項目は、プリフェッチサイズ項目と組み合わせて使用できます。両方のプリフェッチウィンドウで許可されている場合にのみメッセージが事前に送信されます。特定の上限を設定しない場合は、0 が使用されます。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

AMQP Properties (AMQP プロパティ)

メッセージのプロパティ。

Headers (ヘッダー)

Object (オブジェクト)

この AmqpMessage に設定されるカスタムユーザープロパティ。

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • TRANSIENT

  • PERSISTENT

AMQP ブローカーにパブリッシュするときに使用する配信モード。

PERSISTENT

Priority (優先度)

Number (数値)

AMQP ブローカーにパブリッシュするときに使用する優先度。優先度には 0 ~ 9 の値を指定できます。デフォルトは 0 です。

0

Request Broker Confirms (ブローカーの確認を要求)

Boolean (ブール)

この属性が true に設定されているときに確認が提供されない場合、失敗するかどうか。

false

必須

Boolean (ブール)

キューにルーティングできない場合に操作に失敗するかどうか。

false

Immediate (即時)

Boolean (ブール)

キューコンシューマーに即時にルーティングできない場合に操作に失敗するかどうか。

false

Returned Message Exchange (返されるメッセージエクスチェンジ)

String (文字列)

返されるメッセージをパブリッシュするエクスチェンジ。

#### [](#出力-3)出力

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-4)次の設定の場合 - [設定](#config)​ ## [](#型)型 ### [](#SocketConfiguration)Socket Configuration (ソケット設定)
項目 型 説明 デフォルト値 必須

Keep Alive (キープアライブ)

Boolean (ブール)

基盤となる AMQP Connector に設定するキープアライブ。

false

So Timeout Time Unit (So Timeout 時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

SO_TIMEOUT​ AMQP 接続ソケット設定の時間単位。

MILLISECONDS

So Timeout

Number (数値)

基盤となる AMQP Connector に設定する ​SO_TIMEOUT​。

Receive Buffer Size (受信バッファサイズ)

Number (数値)

基盤となる AMQP Connector に設定する受信バッファサイズ。

Send Buffer Size (送信バッファサイズ)

Number (数値)

基盤となる AMQP Connector に設定する送信バッファサイズ。

### [](#Tls)TLS Mule アプリケーションのセキュアな通信を提供するように TLS を設定します。
項目 型 説明 デフォルト値 必須

Enabled Protocols (有効化されたプロトコル)

String (文字列)

このコンテキストで有効化されたプロトコルのカンマ区切りリスト。

Enabled Cipher Suites (有効化された暗号化スイート)

String (文字列)

このコンテキストで有効化された暗号化スイートのカンマ区切りリスト。

Trust Store (トラストストア)

TLS トラストストアを設定します。

Key Store (キーストア)

TLS キーストアを設定します。

Revocation Check (取り消し確認)

### [](#TrustStore)Truststore (トラストストア) TLS 用のトラストストアを設定します。
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

トラストストアへのパス。Mule では、現在のクラスパスとファイルシステムへの相対的なパスを解決します。

Password (パスワード)

String (文字列)

トラストストアを保護するために使用するパスワード。

Type (型)

String (文字列)

ストアの型。

Algorithm (アルゴリズム)

String (文字列)

トラストストアで使用する暗号化アルゴリズム。

Insecure (安全ではない)

Boolean (ブール)

true​ の場合、Mule では証明書の検証の実行を停止します。これを ​true​ に設定すると、接続が攻撃に対して脆弱になる可能性があります。

### [](#KeyStore)Keystore (キーストア) TLS プロトコル用のキーストアを設定します。生成したキーストアには、非公開キーと公開証明書が格納されます。
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

キーストアへのパス。Mule では、現在のクラスパスとファイルシステムへの相対的なパスを解決します。

Type (型)

String (文字列)

ストアの型。

Alias (別名)

String (文字列)

キーストアに複数の非公開キーが含まれている場合に使用するキーの別名。デフォルトでは、Mule はファイル内の最初のキーを使用します。

Key Password (キーパスワード)

String (文字列)

非公開キーを保護するために使用するパスワード。

Password (パスワード)

String (文字列)

キーストアを保護するために使用するパスワード。

Algorithm (アルゴリズム)

String (文字列)

キーストアで使用する暗号化アルゴリズム。

### [](#standard-revocation-check)Standard Revocation Check (標準の取り消し確認) TLS 証明書の標準取り消し確認を設定します。
項目 型 説明 デフォルト値 必須

Only End Entities (最後のエンティティのみ)

Boolean (ブール)

証明書チェーン内で確認する要素:

  • true​

証明書チェーンの最後の要素のみを確認します。

  • false​

証明書チェーンのすべての要素を確認します。

Prefer Crls (CRL を優先)

Boolean (ブール)

証明書の有効性を確認する方法:

  • true​

証明書失効リスト (CRL) で証明書の有効性を確認します。

  • false​

オンライン証明書状況プロトコル (OCSP) を使用して証明書の有効性を確認します。

No Fallback (代替なし)

Boolean (ブール)

証明書の有効性を確認するための第 2 の方法を使用するかどうか:

  • true​

[Prefer Crls (CRL を優先)]​ 項目で指定されていない方法 (第 2 の方法) を使用して証明書の有効性を確認します。

  • false​

証明書の有効性を確認するための第 2 の方法を使用しません。

Soft Fail (ソフトフェール)

Boolean (ブール)

取り消しサーバーに到達できない場合や取り消しサーバーが混雑している場合の処理:

  • true​

検証エラーを回避します。

  • false​

検証の失敗を許可します。

### [](#custom-ocsp-responder)Custom OCSP Responder (カスタム OCSP レスポンダー) 証明書の取り消し確認のカスタム OCSP レスポンダーを設定します。
項目 型 説明 デフォルト値 必須

Url

String (文字列)

OCSP レスポンダーの URL。

Cert Alias (証明書の別名)

String (文字列)

OCSP 応答の署名証明書の別名。指定した場合、別名はトラストストアに存在する必要があります。

### [](#crl-file)CRL File (CRL ファイル) 証明書失効リスト (CRL) ファイルの場所を指定します。
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

CRL ファイルへのパス。

### [](#fallback-address)Fallback Address (代替アドレス)
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

接続先のブローカーのホスト。

x

Port (ポート)

String (文字列)

接続先の AMQP ブローカーのポート。

### [](#reconnection-再接続)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#AmqpAttributes)AMQP Attributes (AMQP 属性)
項目 型 説明 デフォルト値 必須

Envelope (エンベロープ)

AMQP の基本的な方法で使用されるパラメーターのグループをカプセル化します。

x

Properties (プロパティ)

AMQP メッセージのプロパティ

x

Headers (ヘッダー)

Object (オブジェクト)

AMQP メッセージパラメーター。

x

Ack Id

String (文字列)

現在のメッセージを肯定応答するために必要なチャネル肯定応答 ID (ある場合)。ない場合は null。

### [](#Envelope)Envelope (エンベロープ)
項目 型 説明 デフォルト値 必須

Delivery Tag (配信タグ)

Number (数値)

Redeliver (再配信)

Boolean (ブール)

false

Exchange

String (文字列)

Routing Key (ルーティングキー)

String (文字列)

### [](#Properties)プロパティ
項目 型 説明 デフォルト値 必須

Content Type (コンテンツタイプ)

String (文字列)

Content Encoding (コンテンツエンコード)

String (文字列)

Delivery Mode (配信モード)

Enumeration (列挙)。次のいずれかになります。

  • TRANSIENT

  • PERSISTENT

PERSISTENT

Priority (優先度)

Number (数値)

Correlation Id (相関 ID)

String (文字列)

Reply To (返信先)

String (文字列)

Expiration (有効期限)

String (文字列)

Message Id (メッセージ ID)

String (文字列)

Timestamp (タイムスタンプ)

Date (日付)

Type (型)

String (文字列)

User Id (ユーザー ID)

String (文字列)

App Id (アプリケーション ID)

String (文字列)

Cluster Id (クラスター ID)

String (文字列)

### [](#queue-definition)キュー定義
項目 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたキューをブローカーから削除するタイミングを定義します。

EXPLICIT

Exchange To Bind (バインドするエクスチェンジ)

String (文字列)

キューのバインド先のエクスチェンジを定義します。

Binding Routing Key (ルーティングキーのバインド)

String (文字列)

エクスチェンジへのバインドで使用するルーティングキーを定義します。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。

Max Buffer Size (最大バッファサイズ)

Number (数値)

バッファの最大サイズ。バッファサイズがこの値を超える場合、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。​0​ 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

再配信される要求の最大処理失敗回数。この回数を超えると、​REDELIVERY_EXHAUSTED​ エラーが返されます。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

true​ の場合、Mule では再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用します。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#AmqpProperties)AMQP Properties (AMQP プロパティ)
項目 型 説明 デフォルト値 必須

Content Type (コンテンツタイプ)

String (文字列)

本文のコンテンツタイプ。

/

Content Encoding (コンテンツエンコード)

String (文字列)

パブリッシュされたメッセージのコンテンツエンコード。

Priority (優先度)

Number (数値)

AMQP ブローカーにパブリッシュするときに使用する優先度。優先度には 0 ~ 9 の値を指定できます。デフォルトは 0 です。

0

Correlation Id (相関 ID)

String (文字列)

要求-返信のメッセージで識別される RPC パターンを実装する場合に使用されます。

Message Id (メッセージ ID)

String (文字列)

Reply To (返信先)

String (文字列)

RPC の場合に設定される宛先。

Expiration (有効期限)

Number (数値)

メッセージの有効期限 (ミリ秒)。

Expiration Time Unit (有効期限の時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

MILLISECONDS

User Id (ユーザー ID)

String (文字列)

App Id (アプリケーション ID)

String (文字列)

Cluster Id (クラスター ID)

String (文字列)

Timestamp (タイムスタンプ)

Date (日付)

Type (型)

String (文字列)

コンシュームされたメッセージの型。

### [](#exchange-defintiion)Exchange Defintiion (エクスチェンジ定義)
項目 型 説明 デフォルト値 必須

Removal Strategy (削除戦略)

Enumeration (列挙)。次のいずれかになります。

  • EXPLICIT

  • SHUTDOWN

  • UNUSED

宣言されたエクスチェンジをブローカーから削除するタイミングを定義します。

EXPLICIT

Type (型)

Enumeration (列挙)。次のいずれかになります。

  • DIRECT

  • TOPIC

  • FANOUT (論理出力)

  • HEADERS

宣言するエクスチェンジの種別。

FANOUT (論理出力)

# AMQP でのトランザクションの処理 AMQP のトランザクション接続により、実際にはトランザクションがコミットされたときにのみ実行される一連の操作を実行できます。主な 2 つのシナリオは次のとおりです。 - トランザクションの一環でメッセージをパブリッシュする: `publish`​ を実行するときに、メッセージはトランザクションが​**コミット**​されたときに効果的に宛先に送信されます。何らかの理由でトランザクションが失敗して​**ロールバック**​が発生すると、メッセージは送信されません。 - トランザクションの一環でメッセージをコンシュームする: AMQP メッセージをコンシュームする場合、​`listener`​ または ​`consume`​ を使用してメッセージが肯定応答されるのは​**トランザクションがコミットされた後のみ**​であり、トランザクションが​**ロールバック**​された場合は代わりに再配信のために宛先に返されます。 AMQP Connector は、Mule の ​`transactionalAction`​ 設定を使用して、トランザクションとしての操作の実行を標準でサポートしています。 トランザクションの一環で操作を実行するには、次の 2 つのオプションがあります。 ## [](#新規メッセージのトランザクションセッションでの処理)新規メッセージのトランザクションセッションでの処理 メッセージをディスパッチするときに AMQP ​`listener`​ でトランザクションセッションを使用するには、​`transactionalAction`​ を 'ALWAYS\_BEGIN' に設定する必要があります。 ```xml ``` この設定により、新しいメッセージはそれぞれフローのすべてのコンポーネントに伝播されるトランザクションで処理され、フロー実行が正常に完了したときにコミットされます。フロー実行が完了したがエラーが発生した場合、トランザクションはロールバックされます。 デフォルトでは、フローの​**他のコンポーネント**​はリスナーによって作成されたトランザクションに参加しません。リスナーのトランザクションを使用して他の操作を実行するには、'​ALWAYS\_JOIN​' または '​JOIN\_IF\_POSSIBLE​' を使用して宣言する必要があります。 ## [](#トランザクションの一部としての操作の実行)トランザクションの一部としての操作の実行 トランザクションの一環で ​`publish`​ や ​`consume`​ などの操作を実行するには、​`transactionalAction`​ を ​`ALWAYS_JOIN`​ または ​`JOIN_IF_POSSIBLE`​ に設定します。 これらの操作は、リスナーが開始するトランザクションの一部となります。 ```xml ``` または、スコープの絞られたトランザクションに参加できます。 ```xml ``` # AMQP でのトランザクションの処理 AMQP のトランザクション接続により、実際にはトランザクションがコミットされたときにのみ実行される一連の操作を実行できます。主な 2 つのシナリオは次のとおりです。 - トランザクションの一環でメッセージをパブリッシュする: `publish`​ を実行するときに、メッセージはトランザクションが​**コミット**​されたときに効果的に宛先に送信されます。何らかの理由でトランザクションが失敗して​**ロールバック**​が発生すると、メッセージは送信されません。 - トランザクションの一環でメッセージをコンシュームする: AMQP メッセージをコンシュームする場合、​`listener`​ または ​`consume`​ を使用してメッセージが肯定応答されるのは​**トランザクションがコミットされた後のみ**​であり、トランザクションが​**ロールバック**​された場合は代わりに再配信のために宛先に返されます。 AMQP Connector は、Mule の ​`transactionalAction`​ 設定を使用して、トランザクションとしての操作の実行を標準でサポートしています。 トランザクションの一環で操作を実行するには、次の 2 つのオプションがあります。 ## [](#新規メッセージのトランザクションセッションでの処理)新規メッセージのトランザクションセッションでの処理 メッセージをディスパッチするときに AMQP ​`listener`​ でトランザクションセッションを使用するには、​`transactionalAction`​ を 'ALWAYS\_BEGIN' に設定する必要があります。 ```xml ``` この設定により、新しいメッセージはそれぞれフローのすべてのコンポーネントに伝播されるトランザクションで処理され、フロー実行が正常に完了したときにコミットされます。フロー実行が完了したがエラーが発生した場合、トランザクションはロールバックされます。 デフォルトでは、フローの​**他のコンポーネント**​はリスナーによって作成されたトランザクションに参加しません。リスナーのトランザクションを使用して他の操作を実行するには、'​ALWAYS\_JOIN​' または '​JOIN\_IF\_POSSIBLE​' を使用して宣言する必要があります。 ## [](#トランザクションの一部としての操作の実行)トランザクションの一部としての操作の実行 トランザクションの一環で ​`publish`​ や ​`consume`​ などの操作を実行するには、​`transactionalAction`​ を ​`ALWAYS_JOIN`​ または ​`JOIN_IF_POSSIBLE`​ に設定します。 これらの操作は、リスナーが開始するトランザクションの一部となります。 ```xml ``` または、スコープの絞られたトランザクションに参加できます。 ```xml ``` # AMQP でのトランザクションの処理 AMQP のトランザクション接続により、実際にはトランザクションがコミットされたときにのみ実行される一連の操作を実行できます。主な 2 つのシナリオは次のとおりです。 - トランザクションの一環でメッセージをパブリッシュする: `publish`​ を実行するときに、メッセージはトランザクションが​**コミット**​されたときに効果的に宛先に送信されます。何らかの理由でトランザクションが失敗して​**ロールバック**​が発生すると、メッセージは送信されません。 - トランザクションの一環でメッセージをコンシュームする: AMQP メッセージをコンシュームする場合、​`listener`​ または ​`consume`​ を使用してメッセージが肯定応答されるのは​**トランザクションがコミットされた後のみ**​であり、トランザクションが​**ロールバック**​された場合は代わりに再配信のために宛先に返されます。 AMQP Connector は、Mule の ​`transactionalAction`​ 設定を使用して、トランザクションとしての操作の実行を標準でサポートしています。 トランザクションの一環で操作を実行するには、次の 2 つのオプションがあります。 ## [](#新規メッセージのトランザクションセッションでの処理)新規メッセージのトランザクションセッションでの処理 メッセージをディスパッチするときに AMQP ​`listener`​ でトランザクションセッションを使用するには、​`transactionalAction`​ を 'ALWAYS\_BEGIN' に設定する必要があります。 ```xml ``` この設定により、新しいメッセージはそれぞれフローのすべてのコンポーネントに伝播されるトランザクションで処理され、フロー実行が正常に完了したときにコミットされます。フロー実行が完了したがエラーが発生した場合、トランザクションはロールバックされます。 デフォルトでは、フローの​**他のコンポーネント**​はリスナーによって作成されたトランザクションに参加しません。リスナーのトランザクションを使用して他の操作を実行するには、'​ALWAYS\_JOIN​' または '​JOIN\_IF\_POSSIBLE​' を使用して宣言する必要があります。 ## [](#トランザクションの一部としての操作の実行)トランザクションの一部としての操作の実行 トランザクションの一環で ​`publish`​ や ​`consume`​ などの操作を実行するには、​`transactionalAction`​ を ​`ALWAYS_JOIN`​ または ​`JOIN_IF_POSSIBLE`​ に設定します。 これらの操作は、リスナーが開始するトランザクションの一部となります。 ```xml ``` または、スコープの絞られたトランザクションに参加できます。 ```xml ``` # AMQP トポグラフィの変更を回避 AMQP の交換とキューの宣言が無効になるように、​`createFallbackExchange`​ および ​`createFallbackQueue`​ グローバル設定プロパティを設定できます。AMQP トポグラフィの変更が試行されないことを保証する必要があるシナリオでは、これらのパラメーターが追加されています。そのような場合、以前に存在していないキューと交換の両方の宣言で ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 たとえば、次のフローがあるとします。 ```xml ``` `newExchange`​ エクスチェンジが存在せず、​`createFallbackExchange`​ が ​`false`​ に設定されている場合、publish 操作の呼び出しで ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 `createFallbackExchange`​ は、操作レベルで上書きでき、値として式を取得できます。次に例を示します。 consume 操作の ​`createFallbackQueue`​ パラメーターの使用方法は類似しています。 ```xml ``` このパラメーターは、リスナーでも使用できます。 ```xml ``` # AMQP トポグラフィの変更を回避 AMQP の交換とキューの宣言が無効になるように、​`createFallbackExchange`​ および ​`createFallbackQueue`​ グローバル設定プロパティを設定できます。AMQP トポグラフィの変更が試行されないことを保証する必要があるシナリオでは、これらのパラメーターが追加されています。そのような場合、以前に存在していないキューと交換の両方の宣言で ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 たとえば、次のフローがあるとします。 ```xml ``` `newExchange`​ エクスチェンジが存在せず、​`createFallbackExchange`​ が ​`false`​ に設定されている場合、publish 操作の呼び出しで ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 `createFallbackExchange`​ は、操作レベルで上書きでき、値として式を取得できます。次に例を示します。 consume 操作の ​`createFallbackQueue`​ パラメーターの使用方法は類似しています。 ```xml ``` このパラメーターは、リスナーでも使用できます。 ```xml ``` # AMQP トポグラフィの変更を回避 AMQP の交換とキューの宣言が無効になるように、​`createFallbackExchange`​ および ​`createFallbackQueue`​ グローバル設定プロパティを設定できます。AMQP トポグラフィの変更が試行されないことを保証する必要があるシナリオでは、これらのパラメーターが追加されています。そのような場合、以前に存在していないキューと交換の両方の宣言で ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 たとえば、次のフローがあるとします。 ```xml ``` `newExchange`​ エクスチェンジが存在せず、​`createFallbackExchange`​ が ​`false`​ に設定されている場合、publish 操作の呼び出しで ​`AMQP:CREATION_NOT_ALLOWED`​ エラーが発生します。 `createFallbackExchange`​ は、操作レベルで上書きでき、値として式を取得できます。次に例を示します。 consume 操作の ​`createFallbackQueue`​ パラメーターの使用方法は類似しています。 ```xml ``` このパラメーターは、リスナーでも使用できます。 ```xml ``` # AMQP メッセージのコンシューム AMQP Connector の ​`consume`​ 操作により、任意の AMQP キューからフローの任意の時点でメッセージをコンシュームする機能が提供されます。 ## [](#メッセージのコンシューム)メッセージのコンシューム キューからメッセージをコンシュームするための構文は次のとおりです。 ```xml ``` この操作では、​`queueName`​ 値によって識別されるキューで最初に使用可能なメッセージをコンシュームし、​`AmqpMessage`​ に変換するため、次の構造が得られます。 - ペイロードとしてのメッセージのコンテンツ - メッセージ属性に含まれるメッセージのメタデータ メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージ肯定応答操作についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-ack)​を参照してください。 ## [](#consume-操作のデフォルト設定)Consume 操作のデフォルト設定 デフォルトの AMQP グローバル設定要素 ​``​ は AMQP Listener ソース用に最適化されているため、この設定には Consume 操作に適したパラメーターがありません。 デフォルトの AMQP グローバル設定を Consume 操作で使用すると、次のエラーが返される場合があります。 ```xml com.mule.extensions.amqp.internal.connection.provider.GenericConnectionProvider.initialise:221 @415c7a8a ERROR Consumer com.mule.extensions.amqp.internal.client.SingleMessageQueueingConsumer@741fd13b (amq.ctag-BsDMf9v86wa9v3e_mo1p8g) method handleDelivery for channel AMQChannel(amqp://xxxx@xxxx/xxxx,1) threw an exception for channel AMQChannel(amqp://xxxx@xxxx:5672/xxxx,1) com.rabbitmq.client.AlreadyClosedException: channel is already closed due to clean channel shutdown; protocol method: #method(reply-code=200, reply-text=OK, class-id=0, method-id=0) at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:258) at com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:427) at com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:421) at com.rabbitmq.client.impl.recovery.RecoveryAwareChannelN.basicReject(RecoveryAwareChannelN.java:114) at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicReject(AutorecoveringChannel.java:438) at com.mule.extensions.amqp.internal.connection.channel.MuleAmqpChannel.basicReject(MuleAmqpChannel.java:383) at com.mule.extensions.amqp.internal.client.SingleMessageQueueingConsumer.handleDelivery(SingleMessageQueueingConsumer.java:47) at com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149) at com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.mule.service.scheduler.internal.AbstractRunnableFutureDecorator.doRun(AbstractRunnableFutureDecorator.java:111) at org.mule.service.scheduler.internal.RunnableFutureDecorator.run(RunnableFutureDecorator.java:54) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) ``` 通常、Consume 操作が最初のメッセージのみを処理し、残りのメッセージを破棄する一方で、ブローカーがキュー内のすべてのメッセージをリクエスターに送信するため、このエラーが発生します。この動作を回避するには、ユースケースに応じて次のパラメーターの 1 つまたは両方を変更します。 - \[Maximum Wait (最大待機)\] パラメーターをクリーンアップする 1. Studio で、フローの ​**\[Publish consume\]**​ 操作を選択します。 2. **\[Maximum Wait (最大待機)\]**​ パラメーターの値を空のままにして、すべての値をクリーンアップします。 XML エディターを使用している場合、​`maximumWait`​ パラメーターのすべての値をクリーンアップします。 - \[Prefetch Count (プリフェッチ数)\] パラメーターを更新する 1. Studio で、​**\[Global Elements (グローバル要素)\]**​ タブに移動します。 2. **\[AMQP Config (Configuration) (AMQP 設定)\]**​ 設定を選択します。 3. **\[Edit (編集)\]**​ をクリックします。 4. **\[Quality of Service (サービス品質)\]**​ タブで、​**\[Prefetch Count (プリフェッチ数)\]**​ を ​`1`​ に設定します。 XML エディターを使用している場合、AMQP グローバル設定要素 ​``​ の ​`quality-of-service-config`​ セクションで、​`prefetchCount`​ パラメーターを ​`1`​ に設定します。 ## [](#メッセージの待機)メッセージの待機 デフォルトの最大待機時間は 10 秒に設定されています。指定した待機時間中にメッセージが受信できなければ、​`AMQP:TIMEOUT`​ エラーがスローされます。​`maximumWait`​ および ​`maximumWaitUnit`​ パラメーターを設定して、待機時間をカスタマイズできます。 到着するメッセージの無限待機時間を作成するには、​`maximumWait`​ 値を ​`-1`​ に設定します。この場合は ​`TIMEOUT`​ エラーは発生しません。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断するように設計されています。ただし、この判断をできない場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule Runtime Engine のデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。 ## [](#consume-操作でのキューの宣言)Consume 操作でのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、エンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避する方法」](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-topography)​を参照してください。 ## [](#受信メッセージのメタデータ)受信メッセージのメタデータ 前述のとおり、受信した各メッセージは次の 2 つで構成されています。 - メッセージのコンテンツが含まれるペイロード - メッセージに関するメタデータが含まれる属性 このメタデータには、AMQP メッセージで使用できるすべての情報をマップする 4 つの部分があります。 - エンベロープ - AckId - ヘッダー - プロパティ 属性の構造についての詳細は、​[「AMQP リファレンス」](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-documentation)​をご覧ください。 ## [](#関連情報)関連情報 - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-listener) # AMQP メッセージのコンシューム AMQP Connector の ​`consume`​ 操作により、任意の AMQP キューからフローの任意の時点でメッセージをコンシュームする機能が提供されます。 ## [](#メッセージのコンシューム)メッセージのコンシューム キューからメッセージをコンシュームするための構文は次のとおりです。 ```xml ``` この操作では、​`queueName`​ 値によって識別されるキューで最初に使用可能なメッセージをコンシュームし、​`AmqpMessage`​ に変換するため、次の構造が得られます。 - ペイロードとしてのメッセージのコンテンツ - メッセージ属性に含まれるメッセージのメタデータ メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージ肯定応答操作についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-ack)​を参照してください。 ## [](#メッセージの待機)メッセージの待機 デフォルトの最大待機時間は 10 秒に設定されています。指定した待機時間中にメッセージが受信できなければ、​`AMQP:TIMEOUT`​ エラーがスローされます。​`maximumWait`​ および ​`maximumWaitUnit`​ パラメーターを設定して、待機時間をカスタマイズできます。 到着するメッセージの無限待機時間を作成するには、​`maximumWait`​ 値を ​`-1`​ に設定します。この場合は ​`TIMEOUT`​ エラーは発生しません。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断するように設計されています。ただし、この判断をできない場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule Runtime Engine のデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。 ## [](#consume-操作でのキューの宣言)Consume 操作でのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、エンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避する方法」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-topography)​を参照してください。 ## [](#受信メッセージのメタデータ)受信メッセージのメタデータ 前述のとおり、受信した各メッセージは次の 2 つで構成されています。 - メッセージのコンテンツが含まれるペイロード - メッセージに関するメタデータが含まれる属性 このメタデータには、AMQP メッセージで使用できるすべての情報をマップする 4 つの部分があります。 - エンベロープ - AckId - ヘッダー - プロパティ 属性の構造についての詳細は、​[「AMQP リファレンス」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-documentation)​をご覧ください。 ## [](#関連情報)関連情報 - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-listener) # AMQP メッセージのコンシューム AMQP Connector の ​`consume`​ 操作により、任意の AMQP キューからフローの任意の時点でメッセージをコンシュームする機能が提供されます。 ## [](#メッセージのコンシューム)メッセージのコンシューム キューからメッセージをコンシュームするための構文は次のとおりです。 ```xml ``` この操作では、​`queueName`​ 値によって識別されるキューで最初に使用可能なメッセージをコンシュームし、​`AmqpMessage`​ に変換するため、次の構造が得られます。 - ペイロードとしてのメッセージのコンテンツ - メッセージ属性に含まれるメッセージのメタデータ メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージ肯定応答操作についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-ack)​を参照してください。 ## [](#メッセージの待機)メッセージの待機 デフォルトの最大待機時間は 10 秒に設定されています。指定した待機時間中にメッセージが受信できなければ、​`AMQP:TIMEOUT`​ エラーがスローされます。​`maximumWait`​ および ​`maximumWaitUnit`​ パラメーターを設定して、待機時間をカスタマイズできます。 到着するメッセージの無限待機時間を作成するには、​`maximumWait`​ 値を ​`-1`​ に設定します。この場合は ​`TIMEOUT`​ エラーは発生しません。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断するように設計されています。ただし、この判断をできない場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule Runtime Engine のデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。 ## [](#consume-操作でのキューの宣言)Consume 操作でのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、エンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避する方法」](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-topography)​を参照してください。 ## [](#受信メッセージのメタデータ)受信メッセージのメタデータ 前述のとおり、受信した各メッセージは次の 2 つで構成されています。 - メッセージのコンテンツが含まれるペイロード - メッセージに関するメタデータが含まれる属性 このメタデータには、AMQP メッセージで使用できるすべての情報をマップする 4 つの部分があります。 - エンベロープ - AckId - ヘッダー - プロパティ 属性の構造についての詳細は、​[「AMQP リファレンス」](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-documentation)​をご覧ください。 ## [](#関連情報)関連情報 - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-listener) # メッセージのパブリッシュ `publish`​ 操作では、新しい AMQP メッセージを作成して、指定したエクスチェンジに送信できます。その後、メッセージのコンテンツだけでなく、AMQP メッセージのすべてのヘッダー、プロパティ、エンベロープも設定できます。 ## [](#エクスチェンジへのメッセージの送信)エクスチェンジへのメッセージの送信 デフォルトの形式で使用された場合、コネクタによってメッセージペイロード内のすべての内容がパブリッシュされます。 ```xml ``` しかし、ペイロードが正しい形式でなく、実際に変換を行う必要がある場合にはどうでしょうか? この場合は、​`publish`​ 操作の前に DataWeave トランスフォーマーを配置できますが、メッセージのペイロードが変更されるため、​`publish`​ に続く操作に影響が出ることがあります。 この不要な影響を回避するには、​`publish`​ 操作の内部にトランスフォーマーを配置します。 ```xml ``` これで、トランスフォーマーによってパブリッシュされるコンテンツが生成される一方で、送信中のメッセージに対する副作用は発生しません。 ## [](#メッセージのルーティングキーの上書きまたは設定)メッセージのルーティングキーの上書きまたは設定 プロパティのルーティングキーを設定または上書きすることが必要になる場合があります。ルーティングキーは、AMQP メッセージのプロパティで表されます。 ```xml ``` ## [](#応答宛先の宣言)応答宛先の宣言 送信するメッセージに対する非同期の応答が必要な場合は、AMQP の ​`publish`​ 操作で任意の ​`reply-to`​ 宛先を宣言できます。この宛先は、AMQP メッセージプロパティでメッセージのコンシューマーに渡され、返信が送信される宛先となります。 `reply-to`​ 宛先を宣言するには、次のようにメッセージのプロパティに追加します。 ```xml ``` ## [](#ブローカーから確認の要求)ブローカーから確認の要求 ブローカーが publish 操作を確認する必要がある場合、​`requestBrokerConfirms`​ パラメーターを設定できます。このパラメーターを設定すると、publish 操作のチャネルが確認モードに設定され、コネクタはブローカーからの ​`basic.ack`​ を想定します。パラメーターは、グローバルパブリッシャー設定または操作レベルで設定できます。 ```xml ``` 確認が届かない場合、ブローカーが確認メッセージに同意しなかったことを示す ​`AMQP:PUBLISHING`​ エラーが発生します。 ## [](#返されるメッセージの処理)返されるメッセージの処理 コネクタでは、必須および即時のパブリッシュフラグがサポートされています。 このコネクタで送信されるメッセージを配信できない場合、AMQP ブローカーは非同期でそのメッセージを返します。 AMQP Connector では、返されるこれらのメッセージを交換にディスパッチしてカスタム処理を実行できる可能性があります。 コネクタレベルで返されるメッセージを処理するエンドポイントを定義できます。例を挙げます。 ```xml ``` ## [](#publish-操作でのエクスチェンジの宣言)Publish 操作でのエクスチェンジの宣言 デフォルトでは、定義された交換が存在しないと ​`AMQP:EXCHANGE_NOT_FOUND`​ エラーで ​`publish`​ 操作に失敗します。 交換を宣言する必要がある場合、交換を宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` 交換は、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackExchange`​ グローバル設定を指定して、代替エクスチェンジの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避」](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-topography)​を参照してください。 ## [](#相関-id-の伝播)相関 ID の伝播 `publish`​ 操作では、送信メッセージの ​`correlationId`​ を設定できます。 最初に、​`sendCorrelationId`​ パラメーターを使用してメッセージをパブリッシュするときに ​`correlationId`​ を送信するかどうかを設定する必要があります。このパラメーターは、​`ALWAYS`​ (常にヘッダーを送信する)、​`NEVER`​ (ヘッダーを送信しない)、または ​`AUTO`​ (デフォルト、アプリケーション設定を使用する) に設定できます。 次に、メッセージを送信するイベントの ​`correlationId`​ を使用するか、またはメッセージビルダーでカスタム ​`correlationId`​ を設定できます。 ```xml ``` ## [](#関連情報)関連情報 [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish-consume) # メッセージのパブリッシュ `publish`​ 操作では、新しい AMQP メッセージを作成して、指定したエクスチェンジに送信できます。その後、メッセージのコンテンツだけでなく、AMQP メッセージのすべてのヘッダー、プロパティ、エンベロープも設定できます。 ## [](#エクスチェンジへのメッセージの送信)エクスチェンジへのメッセージの送信 デフォルトの形式で使用された場合、コネクタによってメッセージペイロード内のすべての内容がパブリッシュされます。 ```xml ``` しかし、ペイロードが正しい形式でなく、実際に変換を行う必要がある場合にはどうでしょうか? この場合は、​`publish`​ 操作の前に DataWeave トランスフォーマーを配置できますが、メッセージのペイロードが変更されるため、​`publish`​ に続く操作に影響が出ることがあります。 この不要な影響を回避するには、​`publish`​ 操作の内部にトランスフォーマーを配置します。 ```xml ``` これで、トランスフォーマーによってパブリッシュされるコンテンツが生成される一方で、送信中のメッセージに対する副作用は発生しません。 ## [](#メッセージのルーティングキーの上書きまたは設定)メッセージのルーティングキーの上書きまたは設定 プロパティのルーティングキーを設定または上書きすることが必要になる場合があります。ルーティングキーは、AMQP メッセージのプロパティで表されます。 ```xml ``` ## [](#応答宛先の宣言)応答宛先の宣言 送信するメッセージに対する非同期の応答が必要な場合は、AMQP の ​`publish`​ 操作で任意の ​`reply-to`​ 宛先を宣言できます。この宛先は、AMQP メッセージプロパティでメッセージのコンシューマーに渡され、返信が送信される宛先となります。 `reply-to`​ 宛先を宣言するには、次のようにメッセージのプロパティに追加します。 ```xml ``` ## [](#ブローカーから確認の要求)ブローカーから確認の要求 ブローカーが publish 操作を確認する必要がある場合、​`requestBrokerConfirms`​ パラメーターを設定できます。このパラメーターを設定すると、publish 操作のチャネルが確認モードに設定され、コネクタはブローカーからの ​`basic.ack`​ を想定します。パラメーターは、グローバルパブリッシャー設定または操作レベルで設定できます。 ```xml ``` 確認が届かない場合、ブローカーが確認メッセージに同意しなかったことを示す ​`AMQP:PUBLISHING`​ エラーが発生します。 ## [](#返されるメッセージの処理)返されるメッセージの処理 コネクタでは、必須および即時のパブリッシュフラグがサポートされています。 このコネクタで送信されるメッセージを配信できない場合、AMQP ブローカーは非同期でそのメッセージを返します。 AMQP Connector では、返されるこれらのメッセージを交換にディスパッチしてカスタム処理を実行できる可能性があります。 コネクタレベルで返されるメッセージを処理するエンドポイントを定義できます。例を挙げます。 ```xml ``` ## [](#publish-操作でのエクスチェンジの宣言)Publish 操作でのエクスチェンジの宣言 デフォルトでは、定義された交換が存在しないと ​`AMQP:EXCHANGE_NOT_FOUND`​ エラーで ​`publish`​ 操作に失敗します。 交換を宣言する必要がある場合、交換を宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` 交換は、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackExchange`​ グローバル設定を指定して、代替エクスチェンジの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-topography)​を参照してください。 ## [](#相関-id-の伝播)相関 ID の伝播 `publish`​ 操作では、送信メッセージの ​`correlationId`​ を設定できます。 最初に、​`sendCorrelationId`​ パラメーターを使用してメッセージをパブリッシュするときに ​`correlationId`​ を送信するかどうかを設定する必要があります。このパラメーターは、​`ALWAYS`​ (常にヘッダーを送信する)、​`NEVER`​ (ヘッダーを送信しない)、または ​`AUTO`​ (デフォルト、アプリケーション設定を使用する) に設定できます。 次に、メッセージを送信するイベントの ​`correlationId`​ を使用するか、またはメッセージビルダーでカスタム ​`correlationId`​ を設定できます。 ```xml ``` ## [](#関連情報)関連情報 [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish-consume) # メッセージのパブリッシュ `publish`​ 操作では、新しい AMQP メッセージを作成して、指定したエクスチェンジに送信できます。その後、メッセージのコンテンツだけでなく、AMQP メッセージのすべてのヘッダー、プロパティ、エンベロープも設定できます。 ## [](#エクスチェンジへのメッセージの送信)エクスチェンジへのメッセージの送信 デフォルトの形式で使用された場合、コネクタによってメッセージペイロード内のすべての内容がパブリッシュされます。 ```xml ``` しかし、ペイロードが正しい形式でなく、実際に変換を行う必要がある場合にはどうでしょうか? この場合は、​`publish`​ 操作の前に DataWeave トランスフォーマーを配置できますが、メッセージのペイロードが変更されるため、​`publish`​ に続く操作に影響が出ることがあります。 この不要な影響を回避するには、​`publish`​ 操作の内部にトランスフォーマーを配置します。 ```xml ``` これで、トランスフォーマーによってパブリッシュされるコンテンツが生成される一方で、送信中のメッセージに対する副作用は発生しません。 ## [](#メッセージのルーティングキーの上書きまたは設定)メッセージのルーティングキーの上書きまたは設定 プロパティのルーティングキーを設定または上書きすることが必要になる場合があります。ルーティングキーは、AMQP メッセージのプロパティで表されます。 ```xml ``` ## [](#応答宛先の宣言)応答宛先の宣言 送信するメッセージに対する非同期の応答が必要な場合は、AMQP の ​`publish`​ 操作で任意の ​`reply-to`​ 宛先を宣言できます。この宛先は、AMQP メッセージプロパティとしてメッセージのコンシューマーに渡されます。返信が送信されると予想される宛先を表します。 `reply-to`​ 宛先を宣言するには、次のようにメッセージのプロパティに追加します。 ```xml ``` ## [](#ブローカーから確認の要求)ブローカーから確認の要求 ブローカーが publish 操作を確認する必要がある場合、​`requestBrokerConfirms`​ パラメーターを設定できます。このパラメーターを設定すると、publish 操作のチャネルが確認モードに設定され、コネクタはブローカーからの ​`basic.ack`​ を想定します。パラメーターは、グローバルパブリッシャー設定または操作レベルで設定できます。 ```xml ``` 確認が届かない場合、ブローカーが確認メッセージに同意しなかったことを示す ​`AMQP:PUBLISHING`​ エラーが発生します。 ## [](#返されるメッセージの処理)返されるメッセージの処理 コネクタでは、必須および即時のパブリッシュフラグがサポートされています。 このコネクタで送信されるメッセージを配信できない場合、AMQP ブローカーは非同期でそのメッセージを返します。 AMQP Connector では、返されるこれらのメッセージを交換にディスパッチしてカスタム処理を実行できる可能性があります。 コネクタレベルで返されるメッセージを処理するエンドポイントを定義できます。例を挙げます。 ```xml ``` ## [](#publish-操作でのエクスチェンジの宣言)Publish 操作でのエクスチェンジの宣言 デフォルトでは、定義された交換が存在しないと ​`AMQP:EXCHANGE_NOT_FOUND`​ エラーで ​`publish`​ 操作に失敗します。 交換を宣言する必要がある場合、交換を宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` 交換は、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避 `createFallbackExchange`​ グローバル設定を指定して、代替エクスチェンジの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避」](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-topography)​を参照してください。 ## [](#相関-id-の伝播)相関 ID の伝播 `publish`​ 操作では、送信メッセージの ​`correlationId`​ を設定できます。 最初に、​`sendCorrelationId`​ パラメーターを使用してメッセージをパブリッシュするときに ​`correlationId`​ を送信するかどうかを設定する必要があります。このパラメーターは、​`ALWAYS`​ (常にヘッダーを送信する)、​`NEVER`​ (ヘッダーを送信しない)、または ​`AUTO`​ (デフォルト、アプリケーション設定を使用する) に設定できます。 次に、メッセージを送信するイベントの ​`correlationId`​ を使用するか、またはメッセージビルダーでカスタム ​`correlationId`​ を設定できます。 ```xml ``` ## [](#関連情報)関連情報 [返信のリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish-consume) # メッセージ肯定応答の処理 AMQP 用 Anypoint Connector は、さまざまな肯定応答設定を提供します。 ## [](#成功時の自動肯定応答)成功時の自動肯定応答 `AUTO` ​`ackMode`​ を ​`amqp:listener`​ コンポーネントで使用し、​**フロー実行が正常に完了した場合のみ**​受信されたメッセージの自動肯定応答を実行できます。 フロー実行中にエラーが発生して途中で終了した場合、メッセージは肯定応答されず、再配信が実行されます。 ## [](#即時肯定応答)即時肯定応答 `amqp:listener`​ 操作または ​`amqp:consume`​ 操作で ​`ackMode`​ を ​`IMMEDIATE`​ に設定すると、メッセージがコンシュームされた場合に自動的に、メッセージがアプリケーションによって処理される前に肯定応答されます。 メッセージが受信された場合に自動的に肯定応答されるということは、メッセージの処理中にエラーが発生しても再配信されないため、メッセージを失わずにエラーを処理するにはデッドレターキューなどのアプリケーションロジックを作成する必要があります。 ## [](#手動肯定応答)手動肯定応答 予想どおり、​`MANUAL` ​`ackMode`​ によってメッセージで肯定応答を実行するすべての責任がアプリケーションロジックに委譲されます。 この設定では、​`listener`​ 操作または ​`consume`​ 操作によって受信されたすべてのメッセージの MuleMessage ​`attributes`​ で ​`ackId`​ が使用でき、これによって指定されたチャネルに対してこのメッセージが一意に識別されます。 続いて、メッセージを識別する ​`ackId`​ が ​`amqp:ack`​ 操作に渡されます。 ```xml ``` ## [](#関連情報)関連情報 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-listener) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # メッセージ肯定応答の処理 AMQP 用 Anypoint Connector は、さまざまな肯定応答設定を提供します。 ## [](#成功時の自動肯定応答)成功時の自動肯定応答 `AUTO` ​`ackMode`​ を ​`amqp:listener`​ コンポーネントで使用し、​**フロー実行が正常に完了した場合のみ**​受信されたメッセージの自動肯定応答を実行できます。 フロー実行中にエラーが発生して途中で終了した場合、メッセージは肯定応答されず、再配信が実行されます。 ## [](#即時肯定応答)即時肯定応答 `amqp:listener`​ 操作または ​`amqp:consume`​ 操作で ​`ackMode`​ を ​`IMMEDIATE`​ に設定すると、メッセージがコンシュームされた場合に自動的に、メッセージがアプリケーションによって処理される前に肯定応答されます。 メッセージが受信された場合に自動的に肯定応答されるということは、メッセージの処理中にエラーが発生しても再配信されないため、メッセージを失わずにエラーを処理するにはデッドレターキューなどのアプリケーションロジックを作成する必要があります。 ## [](#手動肯定応答)手動肯定応答 予想どおり、​`MANUAL` ​`ackMode`​ によってメッセージで肯定応答を実行するすべての責任がアプリケーションロジックに委譲されます。 この設定では、​`listener`​ 操作または ​`consume`​ 操作によって受信されたすべてのメッセージの MuleMessage ​`attributes`​ で ​`ackId`​ が使用でき、これによって指定されたチャネルに対してこのメッセージが一意に識別されます。 続いて、メッセージを識別する ​`ackId`​ が ​`amqp:ack`​ 操作に渡されます。 ```xml ``` ## [](#関連情報)関連情報 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-listener) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # メッセージ肯定応答の処理 AMQP 用 Anypoint Connector は、さまざまな肯定応答設定を提供します。 ## [](#成功時の自動肯定応答)成功時の自動肯定応答 `AUTO` ​`ackMode`​ を ​`amqp:listener`​ コンポーネントで使用し、​**フロー実行が正常に完了した場合のみ**​受信されたメッセージの自動肯定応答を実行できます。 フロー実行中にエラーが発生して途中で終了した場合、メッセージは肯定応答されず、再配信が実行されます。 ## [](#即時肯定応答)即時肯定応答 `amqp:listener`​ 操作または ​`amqp:consume`​ 操作で ​`ackMode`​ を ​`IMMEDIATE`​ に設定すると、メッセージがコンシュームされた場合に自動的に、メッセージがアプリケーションによって処理される前に肯定応答されます。 メッセージが受信された場合に自動的に肯定応答されるということは、メッセージの処理中にエラーが発生しても再配信されないため、メッセージを失わずにエラーを処理するにはデッドレターキューなどのアプリケーションロジックを作成する必要があります。 ## [](#手動肯定応答)手動肯定応答 予想どおり、​`MANUAL` ​`ackMode`​ によってメッセージで肯定応答を実行するすべての責任がアプリケーションロジックに委譲されます。 この設定では、​`listener`​ 操作または ​`consume`​ 操作によって受信されたすべてのメッセージの MuleMessage ​`attributes`​ で ​`ackId`​ が使用でき、これによって指定されたチャネルに対してこのメッセージが一意に識別されます。 続いて、メッセージを識別する ​`ackId`​ が ​`amqp:ack`​ 操作に渡されます。 ```xml ``` ## [](#関連情報)関連情報 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-listener) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 新規メッセージのリスン AMQP 用 Anypoint Connector (AMQP Connector) のリスナーソースにより、メッセージが AMQP キューに到着した時点でコンシュームできるようになります。 ## [](#新規メッセージのリスン)新規メッセージのリスン キューからの新規メッセージをリスンするための構文は次のとおりです。 ```xml ``` このソースは、​`queueName`​ パラメーターによって識別されるキューの新しいメッセージをリスンし、AMQP メッセージがキューで使用できるようになるたびに ​`AmqpMessage`​ を返します。 `AmqpMessage`​ には以下が含まれます。 - メッセージのペイロードとしてのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 デフォルトでは、コンシュームされたメッセージは、メッセージを受信するフローの実行が正常に完了した場合にのみ肯定応答されます。 代わりに、フローの実行中にエラーが発生した場合、recoverStrategy に従ってセッションが回復され、メッセージが再配信されます。 メッセージ肯定応答についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-ack)​を参照してください。 ## [](#メッセージスループットの設定)メッセージスループットの設定 より多くの処理能力が必要である場合、AMQP リスナーでは ​`numberOfConsumers`​ を設定することで、特定のリスナーがメッセージをコンシュームするために同時に使用するコンシューマーの数を指定できます。 デフォルトでは、各リスナーは 4 つのコンシューマーを使用し、これらの各コンシューマーによって個別のチャネルでメッセージが同時に生成されます。各コンシューマーは処理するメッセージを待つため、同時に最大 4 件のメッセージが転送されることになります。 メッセージの同時処理数を増やす必要がある場合は、リスナーの ​`numberOfConsumers`​ 設定を増やしてください。各コンシューマーは異なるチャネルを使用します。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。ただし、このプロセスでは不十分な場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターはランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`inboundEncoding`​ パラメーターで設定できます。 ## [](#amqp-リスナーでのキューの宣言)AMQP リスナーでのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、キューを宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避する方法)AMQP トポグラフィの変更を回避する方法 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。 ## [](#受信メッセージへの応答)受信メッセージへの応答 受信 AMQP メッセージで ​REPLY\_TO​ プロパティが宣言されている場合、AMQP リスナーはメッセージが正常に処理された場合に自動的に応答を生成します。つまり、フロー実行中にエラーは発生しません。 その場合、フローが完了すると、応答が処理済みのメッセージプロパティで指定されたエクスチェンジにパブリッシュされます。エラーの場合、回復戦略が適用され、メッセージが正常に処理されるまで応答は ​REPLY\_TO​ プロパティに送信されません。 ## [](#エラーの場合の回復戦略)エラーの場合の回復戦略 エラーが発生した場合、​`recoverStrategy`​ が適用されます。 デフォルトでは、​`recoverStrategy`​ が ​`REQUEUE`​ に設定されます。つまり、メッセージがコンシューム元の ​`queue`​ に送信され、他の AMQP コンシューマーがそのメッセージを取得する可能性があります。 たとえば、​`NO_REQUEUE`​ に設定されている場合、次のようになります。 ```xml ``` メッセージは、メッセージを取得したコンシューマーに直接送信されます。 `NONE`​ が ​`recoverStrategy`​ として定義されている場合、アクションは実行されません。 ## [](#クラスター環境)クラスター環境 デフォルトでは、AMQP リスナーはクラスター環境のすべてのノードからメッセージを受信します。他のソースと同様に、​`primaryNodeOnly`​ 属性を使用してこれを変更できます。 ```xml ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-consume) # 新規メッセージのリスン AMQP 用 Anypoint Connector (AMQP Connector) のリスナーソースにより、メッセージが AMQP キューに到着した時点でコンシュームできるようになります。 ## [](#新規メッセージのリスン)新規メッセージのリスン キューからの新規メッセージをリスンするための構文は次のとおりです。 ```xml ``` このソースは、​`queueName`​ パラメーターによって識別されるキューの新しいメッセージをリスンし、AMQP メッセージがキューで使用できるようになるたびに ​`AmqpMessage`​ を返します。 `AmqpMessage`​ には以下が含まれます。 - メッセージのペイロードとしてのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 デフォルトでは、コンシュームされたメッセージは、メッセージを受信するフローの実行が正常に完了した場合にのみ肯定応答されます。 代わりに、フローの実行中にエラーが発生した場合、recoverStrategy に従ってセッションが回復され、メッセージが再配信されます。 メッセージ肯定応答についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-ack)​を参照してください。 ## [](#メッセージスループットの設定)メッセージスループットの設定 より多くの処理能力が必要である場合、AMQP リスナーでは ​`numberOfConsumers`​ を設定することで、特定のリスナーがメッセージをコンシュームするために同時に使用するコンシューマーの数を指定できます。 デフォルトでは、各リスナーは 4 つのコンシューマーを使用し、これらの各コンシューマーによって個別のチャネルでメッセージが同時に生成されます。各コンシューマーは処理するメッセージを待つため、同時に最大 4 件のメッセージが転送されることになります。 メッセージの同時処理数を増やす必要がある場合は、リスナーの ​`numberOfConsumers`​ 設定を増やしてください。各コンシューマーは異なるチャネルを使用します。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。ただし、このプロセスでは不十分な場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターはランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`inboundEncoding`​ パラメーターで設定できます。 ## [](#amqp-リスナーでのキューの宣言)AMQP リスナーでのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、キューを宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避する方法)AMQP トポグラフィの変更を回避する方法 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。 ## [](#受信メッセージへの応答)受信メッセージへの応答 受信 AMQP メッセージで ​REPLY\_TO​ プロパティが宣言されている場合、AMQP リスナーはメッセージが正常に処理された場合に自動的に応答を生成します。つまり、フロー実行中にエラーは発生しません。 その場合、フローが完了すると、応答が処理済みのメッセージプロパティで指定されたエクスチェンジにパブリッシュされます。エラーの場合、回復戦略が適用され、メッセージが正常に処理されるまで応答は ​REPLY\_TO​ プロパティに送信されません。 ## [](#エラーの場合の回復戦略)エラーの場合の回復戦略 エラーが発生した場合、​`recoverStrategy`​ が適用されます。 デフォルトでは、​`recoverStrategy`​ が ​`REQUEUE`​ に設定されます。つまり、メッセージがコンシューム元の ​`queue`​ に送信され、他の AMQP コンシューマーがそのメッセージを取得する可能性があります。 たとえば、​`NO_REQUEUE`​ に設定されている場合、次のようになります。 ```xml ``` メッセージは、メッセージを取得したコンシューマーに直接送信されます。 `NONE`​ が ​`recoverStrategy`​ として定義されている場合、アクションは実行されません。 ## [](#クラスター環境)クラスター環境 デフォルトでは、AMQP リスナーはクラスター環境のすべてのノードからメッセージを受信します。他のソースと同様に、​`primaryNodeOnly`​ 属性を使用してこれを変更できます。 ```xml ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-consume) # 新規メッセージのリスン AMQP 用 Anypoint Connector (AMQP Connector) のリスナーソースにより、メッセージが AMQP キューに到着した時点でコンシュームできるようになります。 ## [](#新規メッセージのリスン)新規メッセージのリスン キューからの新規メッセージをリスンするための構文は次のとおりです。 ```xml ``` このソースは、​`queueName`​ パラメーターによって識別されるキューの新しいメッセージをリスンし、AMQP メッセージがキューで使用できるようになるたびに ​`AmqpMessage`​ を返します。 `AmqpMessage`​ には以下が含まれます。 - メッセージのペイロードとしてのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 デフォルトでは、コンシュームされたメッセージは、メッセージを受信するフローの実行が正常に完了した場合にのみ肯定応答されます。 代わりに、フローの実行中にエラーが発生した場合、recoverStrategy に従ってセッションが回復され、メッセージが再配信されます。 メッセージ肯定応答についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-ack)​を参照してください。 ## [](#メッセージスループットの設定)メッセージスループットの設定 より多くの処理能力が必要である場合、AMQP リスナーでは ​`numberOfConsumers`​ を設定することで、特定のリスナーがメッセージをコンシュームするために同時に使用するコンシューマーの数を指定できます。 デフォルトでは、各リスナーは 4 つのコンシューマーを使用し、これらの各コンシューマーによって個別のチャネルでメッセージが同時に生成されます。各コンシューマーは処理するメッセージを待つため、同時に最大 4 件のメッセージが転送されることになります。 メッセージの同時処理数を増やす必要がある場合は、リスナーの ​`numberOfConsumers`​ 設定を増やしてください。各コンシューマーは異なるチャネルを使用します。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。ただし、このプロセスでは不十分な場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターはランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`inboundEncoding`​ パラメーターで設定できます。 ## [](#amqp-リスナーでのキューの宣言)AMQP リスナーでのキューの宣言 デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。 キューを宣言する必要がある場合、キューを宣言するためにエンティティの定義を参照するか、インラインで定義する必要があります。 ```xml ``` キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。 キューは、高レベル要素として定義することもできます。 ```xml ``` ## [](#amqp-トポグラフィの変更を回避する方法)AMQP トポグラフィの変更を回避する方法 `createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。 ## [](#受信メッセージへの応答)受信メッセージへの応答 受信 AMQP メッセージで ​REPLY\_TO​ プロパティが宣言されている場合、AMQP リスナーはメッセージが正常に処理された場合に自動的に応答を生成します。つまり、フロー実行中にエラーは発生しません。 その場合、フローが完了すると、応答が処理済みのメッセージプロパティで指定されたエクスチェンジにパブリッシュされます。エラーの場合、回復戦略が適用され、メッセージが正常に処理されるまで応答は ​REPLY\_TO​ プロパティに送信されません。 ## [](#エラーの場合の回復戦略)エラーの場合の回復戦略 エラーが発生した場合、​`recoverStrategy`​ が適用されます。 デフォルトでは、​`recoverStrategy`​ が ​`REQUEUE`​ に設定されます。つまり、メッセージがコンシューム元の ​`queue`​ に送信され、他の AMQP コンシューマーがそのメッセージを取得する可能性があります。 たとえば、​`NO_REQUEUE`​ に設定されている場合、次のようになります。 ```xml ``` メッセージは、メッセージを取得したコンシューマーに直接送信されます。 `NONE`​ が ​`recoverStrategy`​ として定義されている場合、アクションは実行されません。 ## [](#クラスター環境)クラスター環境 デフォルトでは、AMQP リスナーはクラスター環境のすべてのノードからメッセージを受信します。他のソースと同様に、​`primaryNodeOnly`​ 属性を使用してこれを変更できます。 ```xml ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-consume) # 相互 TLS 認証の設定 次の例は、相互 TLS (mTLS) 認証を使用して AMQP ブローカーに接続するように AMQP 用 Anypoint Connector (AMQP Connector) を設定する方法を示しています。必要なグローバル設定接続を設定するには、以下が必要です。 - サーバーの検証に必要な認証機関の証明書を含むクライアントトラストストア。 - 認証に必要なクライアント非公開キーと証明書を提供するクライアントキーストア。 - Anypoint Studio の AQMP グローバル設定で ​**\[Use TLS (TLS を使用)\]**​ および ​**\[Use SNI (SNI を使用)\]**​ パラメーターを有効にする。 ## [](#接続の設定)接続の設定 Studio で相互 TLS 認証接続を設定するには、次の手順に従います。 1. **\[Global Elements (グローバル要素)\]**​ タブに移動して、​**\[Create (作成)\]**​ をクリックします。 2. 検索条件ボックスに「​`AMQP`​」と入力します。 3. **\[AQMP Config (AQMP 設定)\]**​ を選択します。 4. **\[OK\]**​ をクリックします。 5. **\[General (一般)\]**​ タブの ​**\[Connection (接続)\]**​ セクションで、次のパラメーターを設定します。 - **Host (ホスト)**​: `localhost` - **Port (ポート)**​: `${rabbitmq.tls.port}` 6. **\[Use TLS (TLS を使用)\]**​ および ​**\[Use SNI (SNI を使用)\]**​ パラメーターボックスをオンにします。 7. **\[TLS\]**​ タブをクリックします。 8. **\[TLS Configuration (TLS 設定)\]**​ で、​**\[Edit Inline (インライン編集)\]**​ を選択します。 9. **\[Trust Store Configuration (トラストストア設定)\]**​ セクションで、次のパラメーターを設定します。 - **Path (パス)**​: `mtls/truststore.jks` - **Password (パスワード)**​: `test` - **Type (型)**​: `JKS` 10. **\[Key Store Configuration (キーストア設定)\]**​ セクションで、次のパラメーターを設定します。 - **Type (型)**​: `JKS` - **Path (パス)**​: `mtls/test.jks` - **Alias (別名)**​: `test` - **Key Password (キーパスワード)**​: `test` - **keyPassword**​: `test` 11. **\[OK\]**​ をクリックします。 Studio での TLS 認証を使用した AMQP グローバル設定は次のようになります。 ![グローバル設定要素ウィンドウでの AMQP 相互 TLS 認証の設定](/mulesoft/current/ja-jp/amqp-connector/1.7/_images/amqp-tls-configuration.png) Figure 1. AMQP 相互 TLS 認証設定 ## [](#相互-tls-認証を設定する-xml)相互 TLS 認証を設定する XML XML エディターでは、この設定は次のように記述されます。 ```xml ``` ## [](#関連情報)関連情報 - [TLS Configuration (TLS 設定)](https://docs.mulesoft.com/mule-runtime/4.3/tls-configuration) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 相互 TLS 認証の設定 次の例は、相互 TLS (mTLS) 認証を使用して AMQP ブローカーに接続するように AMQP 用 Anypoint Connector (AMQP Connector) を設定する方法を示しています。必要なグローバル設定接続を設定するには、以下が必要です。 - サーバーの検証に必要な認証機関の証明書を含むクライアントトラストストア。 - 認証に必要なクライアント非公開キーと証明書を提供するクライアントキーストア。 - Anypoint Studio の AQMP グローバル設定で ​**\[Use TLS (TLS を使用)\]**​ および ​**\[Use SNI (SNI を使用)\]**​ パラメーターを有効にする。 ## [](#接続の設定)接続の設定 Studio で相互 TLS 認証接続を設定するには、次の手順に従います。 1. **\[Global Elements (グローバル要素)\]**​ タブに移動して、​**\[Create (作成)\]**​ をクリックします。 2. 検索条件ボックスに「​`AMQP`​」と入力します。 3. **\[AQMP Config (AQMP 設定)\]**​ を選択します。 4. **\[OK\]**​ をクリックします。 5. **\[General (一般)\]**​ タブの ​**\[Connection (接続)\]**​ セクションで、次のパラメーターを設定します。 - **Host (ホスト)**​: `localhost` - **Port (ポート)**​: `${rabbitmq.tls.port}` 6. **\[Use TLS (TLS を使用)\]**​ および ​**\[Use SNI (SNI を使用)\]**​ パラメーターボックスをオンにします。 7. **\[TLS\]**​ タブをクリックします。 8. **\[TLS Configuration (TLS 設定)\]**​ で、​**\[Edit Inline (インライン編集)\]**​ を選択します。 9. **\[Trust Store Configuration (トラストストア設定)\]**​ セクションで、次のパラメーターを設定します。 - **Path (パス)**​: `mtls/truststore.jks` - **Password (パスワード)**​: `test` - **Type (型)**​: `JKS` 10. **\[Key Store Configuration (キーストア設定)\]**​ セクションで、次のパラメーターを設定します。 - **Type (型)**​: `JKS` - **Path (パス)**​: `mtls/test.jks` - **Alias (別名)**​: `test` - **Key Password (キーパスワード)**​: `test` - **keyPassword**​: `test` 11. **\[OK\]**​ をクリックします。 Studio での TLS 認証を使用した AMQP グローバル設定は次のようになります。 ![グローバル設定要素ウィンドウでの AMQP 相互 TLS 認証の設定](/mulesoft/current/ja-jp/amqp-connector/1.8/_images/amqp-tls-configuration.png) Figure 1. AMQP 相互 TLS 認証設定 ## [](#相互-tls-認証を設定する-xml)相互 TLS 認証を設定する XML XML エディターでは、この設定は次のように記述されます。 ```xml ``` ## [](#関連情報)関連情報 - [TLS Configuration (TLS 設定)](https://docs.mulesoft.com/mule-runtime/4.3/tls-configuration) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 返信のリスン 要求と応答はアプリケーション間で非常に一般的なパターンです。そのため、AMQP Connector には ​`publish-consume`​ と呼ばれる専用の操作が用意されています。​`publish-consume`​ 操作により、メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機することができます。 この操作を使用する場合、送信メッセージの ​`replyTo`​ プロパティにはアプリケーションが応答を待機するキューの ID が含まれます。この宛先は、既知の宛先である場合も、ある単独の応答メッセージを受け取るためだけに一時的に作成されるキューである場合もあります。 最後に、操作の結果としてメッセージが応答として受信され、​`consume`​ 操作を呼び出した場合とまったく同じ構造になります。 ## [](#一時キューでの応答の待機)一時キューでの応答の待機 一時的なキューを使用して応答を待機するのは非常にシンプルであり、送信されるメッセージを設定するだけで、この操作によって一時的なキューの応答が自動的に待機されます。 ```xml ``` この例では、この操作によって現在の ​`payload`​ を​**本文**​および一時的な宛先に対して設定されたメッセージの ​**replyTo プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されます。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に一時的なキューからの応答をコンシュームしようと試みます。 ## [](#既知のキューでの応答の受信)既知のキューでの応答の受信 多くの場合、要求前の時点でキューを返信する必要はありませんが、代わりによく知られたキューが返信に使用されます。この場合、自分で実行するのは、送信メッセージで ​`reply-to`​ パラメーターを設定することだけです。 ```xml ``` これで、この操作によって現在の ​`payload`​ を​**本文**​および ​`replyToQueue`​ を使用して設定された ​`replyTo` ​**プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されるようになりました。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に ​`replyToQueue`​ キューからの応答をコンシュームしようと試みます。 ## [](#関連情報)関連情報 - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.6/amqp-publish) # 返信のリスン 要求と応答はアプリケーション間で非常に一般的なパターンです。そのため、AMQP Connector には ​`publish-consume`​ と呼ばれる専用の操作が用意されています。​`publish-consume`​ 操作により、メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機することができます。 この操作を使用する場合、送信メッセージの ​`replyTo`​ プロパティにはアプリケーションが応答を待機するキューの ID が含まれます。この宛先は、既知の宛先である場合も、ある単独の応答メッセージを受け取るためだけに一時的に作成されるキューである場合もあります。 最後に、操作の結果としてメッセージが応答として受信され、​`consume`​ 操作を呼び出した場合とまったく同じ構造になります。 ## [](#一時キューでの応答の待機)一時キューでの応答の待機 一時的なキューを使用して応答を待機するのは非常にシンプルであり、送信されるメッセージを設定するだけで、この操作によって一時的なキューの応答が自動的に待機されます。 ```xml ``` この例では、この操作によって現在の ​`payload`​ を​**本文**​および一時的な宛先に対して設定されたメッセージの ​**replyTo プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されます。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に一時的なキューからの応答をコンシュームしようと試みます。 ## [](#既知のキューでの応答の受信)既知のキューでの応答の受信 多くの場合、要求前の時点でキューを返信する必要はありませんが、代わりによく知られたキューが返信に使用されます。この場合、自分で実行するのは、送信メッセージで ​`reply-to`​ パラメーターを設定することだけです。 ```xml ``` これで、この操作によって現在の ​`payload`​ を​**本文**​および ​`replyTo`​ を使用して設定された ​`replyToQueue` ​**プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されるようになりました。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に ​`replyToQueue`​ キューからの応答をコンシュームしようと試みます。 ## [](#関連情報)関連情報 - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-publish) # 返信のリスン 要求と応答はアプリケーション間で非常に一般的なパターンです。そのため、AMQP Connector には ​`publish-consume`​ と呼ばれる専用の操作が用意されています。​`publish-consume`​ 操作により、メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機することができます。 この操作を使用する場合、送信メッセージの ​`replyTo`​ プロパティにはアプリケーションが応答を待機するキューの ID が含まれます。この宛先は、既知の宛先である場合も、ある単独の応答メッセージを受け取るためだけに一時的に作成されるキューである場合もあります。 最後に、操作の結果としてメッセージが応答として受信され、​`consume`​ 操作を呼び出した場合とまったく同じ構造になります。 ## [](#一時キューでの応答の待機)一時キューでの応答の待機 一時的なキューを使用して応答を待機するのは非常にシンプルであり、送信されるメッセージを設定するだけで、この操作によって一時的なキューの応答が自動的に待機されます。 ```xml ``` この例では、この操作によって現在の ​`payload`​ を​**本文**​および一時的な宛先に対して設定されたメッセージの ​**replyTo プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されます。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に一時的なキューからの応答をコンシュームしようと試みます。 ## [](#既知のキューでの応答の受信)既知のキューでの応答の受信 多くの場合、要求前の時点でキューを返信する必要はありませんが、代わりによく知られたキューが返信に使用されます。この場合、自分で実行するのは、送信メッセージで ​`reply-to`​ パラメーターを設定することだけです。 ```xml ``` これで、この操作によって現在の ​`payload`​ を​**本文**​および ​`replyTo`​ を使用して設定された ​`replyToQueue` ​**プロパティ**​とするメッセージが ​`targetExchange`​ に ​`publish`​ されるようになりました。 続いて、メッセージがコンシュームされるか ​`maximumWait`​ に達するまで (この場合、​`AMQP:TIMEOUT`​ エラーが発生して失敗する)、自動的に ​`replyToQueue`​ キューからの応答をコンシュームしようと試みます。 ## [](#関連情報)関連情報 - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/amqp-connector/1.8/amqp-publish)