# mulesoft Ibm Mq Connector - Full Documentation # IBM MQ Connector IBM MQ Connector v1.6 IBM MQ 用 Anypoint Connector (IBM MQ Connector) を使用すると、IBM MQ JMS 実装を使用している IBM MQ ブローカーに対してメッセージを送信できます。 この主な機能は次のとおりです。 - 特定の宛先でのパブリッシュ/サブスクライブパターンのサポート。 - 特定の宛先でのリスン/応答パターンのサポート。 - 特定の宛先での固定または一時応答キューを使用した Publish-Consume 応答パターンのサポート。 - メッセージの非ブロックパブリッシュとコンシューム。 リリースノート: [IBM MQ Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-ibm-mq)​ Exchange: [IBM MQ Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-ibm-mq-connector/) ## [](#接続モード)接続モード IBM 設定を作成する際には、使用する [IBM 接続モード](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q031720_.htm)​を選択します。 IBM MQ 8 の時点では、使用できる接続モードは​**クライアント**​と​**バインディング**​の 2 つのみです。 ### [](#クライアント接続モード)クライアント接続モード クライアント接続モードでは、Mule アプリケーションが実行されているシステムと同じシステムまたは他のシステムで動作している IBM MQ キューマネージャーに接続できます。 どちらの場合でも、IBM MQ Connector は IBM MQ キューマネージャーに TCP/IP 経由で接続します。 この接続モードでは、次のパラメーターを設定できます。
パラメーター 必須 デフォルト値 説明

Host (ホスト)

はい

IBM MQ ブローカーが動作しているホスト。

Port (ポート)

いいえ

1414

キューマネージャーのリスナーポート。

Queue Manager (キューマネージャー)

いいえ

チャネル定義を選択する際に使用するキューマネージャー。

Channel (チャネル)

いいえ

接続先のチャネル名。

Connection Name List (接続名リスト)

FALSE

接続が失われたときにクライアントが再接続を試みるホスト。
接続名リストでは、ホストと IP ポートのペアをカンマで区切って指定します。
例:​ ​0.0.0.0(1414),somehost.domain.com(1415)

![クライアント接続](/mulesoft/current/ja-jp/ibm-mq-connector/1.6/_images/ibm-mq-client-connection-mode.png) Figure 1. Studio でのクライアント接続設定 XML でのクライアント接続設定 ```xml ``` ### [](#バインディング接続モード)バインディング接続モード バインディング接続モードでは、同じシステムで動作している IBM MQ ブローカーに自動的に接続します。 このモード専用のパラメーターは、接続先のキューマネージャーで、必要に応じて設定します。IBM MQ ブローカーでデフォルトのキューマネージャーが設定されている場合は、この設定は必須ではありません。 ![クライアント接続](/mulesoft/current/ja-jp/ibm-mq-connector/1.6/_images/ibm-mq-binding-connection-mode.png) Figure 2. Studio でのバインディング接続設定 XML でのバインディング接続設定 ```xml ``` ## [](#グローバルデフォルトの定義)グローバルデフォルトの定義 IBM MQ の ​`config`​ では、メッセージをコンシュームまたはパブリッシュする際にデフォルトとして使用される複数のパラメーターを定義できます。これにより、設定に関連付けられているすべての操作に対してグローバルデフォルト動作を定義しておいて、カスタム動作を必要とする操作でのみパラメーターを変更することができます。 たとえば、この設定に関連付けられているすべての操作でメッセージをコンシュームする際のデフォルトの ​`selector`​ 動作を定義することができます。 ```xml ``` この場合、この設定に関連付けられているすべての consume または listener 操作はデフォルトで ​`selector`​ を使用し、Publish または Publish-Consume が発生するたびに、送信されるメッセージの TTL は 60 秒に設定されます。 これらのすべてのプロパティは、必要であれば操作レベルで変更できます。 短い TTL でメッセージをパブリッシュするには、次の設定例を使用してパラメーターを変更します。 ```xml ``` ## [](#jms-仕様の選択)JMS 仕様の選択 主要な共通パラメーターである JMS 仕様は、サポートされるバージョンである 2.0 と 1.1 のどちらかを選択します。この接続に関連付けられるブローカー実装でサポートされる仕様を選択しないと、接続が失敗します。
JMS 2.0 のみで利用可能な機能は、他の仕様では動作しません。
## [](#認証用のログイン情報の提供)認証用のログイン情報の提供 認証された接続を確立するには、接続要素でユーザー名とパスワードを設定する必要があります。 ```xml ``` ## [](#接続キャッシングの設定)接続キャッシングの設定 ブローカーに接続して必要な操作を実行するため、JMS Connector は複数のセッション、コンシューマー、およびプロデューサーを作成します。これらをキャッシュして再利用することで、アプリケーションのパフォーマンスを高めることができます。そのため、IBM MQ Connector では、新しい接続を作成する際に使用するキャッシュ戦略を設定できます。デフォルトの戦略では、コンシューマーとプロデューサーの両方をキャッシュし、できるだけ多くのインスタンスを同時にメモリ内に保持します。 キャッシュ設定は、接続宣言内で直接カスタマイズすることができます。 ```xml ``` ## [](#接続クライアントの識別)接続クライアントの識別 クライアント識別子は、接続およびそのオブジェクトを、クライアントの代わりにプロバイダーによって保持される状態と関連付けるものであり、共有されていない永続的なサブスクリプションを識別するために​**必要**​です。 ```xml ```
定義上、​clientId​ によって識別されるクライアント状態は、同時に 1 つの接続によってのみ「使用中」となることができます。
## [](#接続に必要なライブラリのセットアップ)接続に必要なライブラリのセットアップ **重要:**​ コネクタはどの特定の実装にもバインドされていないため、使用する接続の種別には関係なく、常に JMS クライアント実装を含むライブラリを設定する必要があります。 ### [](#ibm-mq-外部ライブラリ)IBM MQ 外部ライブラリ IBM MQ Connector を使用するには、外部 IBM MQ ライブラリを設定します。IBM MQ クライアントライブラリは、​`com.ibm.mq.jms.MQConnectionFactory`​ 実装を提供している必要があります。
IBM MQ Allclient ライブラリを使用します。
たとえば、次のように設定します。 ```xml com.ibm.mq com.ibm.mq.allclient 9.0.5.0 ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-consume) - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish) - [新規メッセージのリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-listener) - [返信のリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish-consume) - [メッセージ肯定応答の処理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-ack) - [IBM MQ でのトランザクションの処理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-transactions) - [パフォーマンス調整](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-performance) - [コネクタリファレンス](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-xml-ref) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ Connector IBM MQ Connector v1.7 IBM MQ 用 Anypoint Connector (IBM MQ Connector) を使用すると、IBM MQ JMS 実装を使用している IBM MQ ブローカーに対してメッセージを送信できます。 この主な機能は次のとおりです。 - 特定の宛先でのパブリッシュ/サブスクライブパターンのサポート。 - 特定の宛先でのリスン/応答パターンのサポート。 - 特定の宛先での固定または一時応答キューを使用した Publish-Consume 応答パターンのサポート。 - メッセージの非ブロックパブリッシュとコンシューム。 リリースノート: [IBM MQ Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-ibm-mq)​ Exchange: [IBM MQ Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-ibm-mq-connector/) ## [](#接続モード)接続モード IBM 設定を作成する際には、使用する [IBM 接続モード](https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q031720_.htm)​を選択します。 IBM MQ 8 の時点では、使用できる接続モードは​**クライアント**​と​**バインディング**​の 2 つのみです。 ### [](#クライアント接続モード)クライアント接続モード クライアント接続モードでは、Mule アプリケーションが実行されているシステムと同じシステムまたは他のシステムで動作している IBM MQ キューマネージャーに接続できます。 どちらの場合でも、IBM MQ Connector は IBM MQ キューマネージャーに TCP/IP 経由で接続します。 この接続モードでは、次のパラメーターを設定できます。
パラメーター 必須 デフォルト値 説明

Host (ホスト)

はい

IBM MQ ブローカーが動作しているホスト。

Port (ポート)

いいえ

1414

キューマネージャーのリスナーポート。

Queue Manager (キューマネージャー)

いいえ

チャネル定義を選択する際に使用するキューマネージャー。

Channel (チャネル)

いいえ

接続先のチャネル名。

Connection Name List (接続名リスト)

FALSE

接続が失われたときにクライアントが再接続を試みるホスト。
接続名リストでは、ホストと IP ポートのペアをカンマで区切って指定します。
例:​ ​0.0.0.0(1414),somehost.domain.com(1415)

![クライアント接続](/mulesoft/current/ja-jp/ibm-mq-connector/1.7/_images/ibm-mq-client-connection-mode.png) Figure 1. Studio でのクライアント接続設定 XML でのクライアント接続設定 ```xml ``` ### [](#バインディング接続モード)バインディング接続モード バインディング接続モードでは、同じシステムで動作している IBM MQ ブローカーに自動的に接続します。 このモード専用のパラメーターは、接続先のキューマネージャーで、必要に応じて設定します。IBM MQ ブローカーでデフォルトのキューマネージャーが設定されている場合は、この設定は必須ではありません。 ![クライアント接続](/mulesoft/current/ja-jp/ibm-mq-connector/1.7/_images/ibm-mq-binding-connection-mode.png) Figure 2. Studio でのバインディング接続設定 XML でのバインディング接続設定 ```xml ``` ## [](#グローバルデフォルトの定義)グローバルデフォルトの定義 IBM MQ の ​`config`​ では、メッセージをコンシュームまたはパブリッシュする際にデフォルトとして使用される複数のパラメーターを定義できます。これにより、設定に関連付けられているすべての操作に対してグローバルデフォルト動作を定義しておいて、カスタム動作を必要とする操作でのみパラメーターを変更することができます。 たとえば、この設定に関連付けられているすべての操作でメッセージをコンシュームする際のデフォルトの ​`selector`​ 動作を定義することができます。 ```xml ``` この場合、この設定に関連付けられているすべての consume または listener 操作はデフォルトで ​`selector`​ を使用し、Publish または Publish-Consume が発生するたびに、送信されるメッセージの TTL は 60 秒に設定されます。 これらのすべてのプロパティは、必要であれば操作レベルで変更できます。 短い TTL でメッセージをパブリッシュするには、次の設定例を使用してパラメーターを変更します。 ```xml ``` ## [](#jms-仕様の選択)JMS 仕様の選択 主要な共通パラメーターである JMS 仕様は、サポートされるバージョンである 2.0 と 1.1 のどちらかを選択します。この接続に関連付けられるブローカー実装でサポートされる仕様を選択しないと、接続が失敗します。
JMS 2.0 のみで利用可能な機能は、他の仕様では動作しません。
## [](#認証用のログイン情報の提供)認証用のログイン情報の提供 認証された接続を確立するには、接続要素でユーザー名とパスワードを設定する必要があります。 ```xml ``` ## [](#接続キャッシングの設定)接続キャッシングの設定 ブローカーに接続して必要な操作を実行するため、JMS Connector は複数のセッション、コンシューマー、およびプロデューサーを作成します。これらをキャッシュして再利用することで、アプリケーションのパフォーマンスを高めることができます。そのため、IBM MQ Connector では、新しい接続を作成する際に使用するキャッシュ戦略を設定できます。デフォルトの戦略では、コンシューマーとプロデューサーの両方をキャッシュし、できるだけ多くのインスタンスを同時にメモリ内に保持します。 キャッシュ設定は、接続宣言内で直接カスタマイズすることができます。 ```xml ``` ## [](#接続クライアントの識別)接続クライアントの識別 クライアント識別子は、接続およびそのオブジェクトを、クライアントの代わりにプロバイダーによって保持される状態と関連付けるものであり、共有されていない永続的なサブスクリプションを識別するために​**必要**​です。 ```xml ```
定義上、​clientId​ によって識別されるクライアント状態は、同時に 1 つの接続によってのみ「使用中」となることができます。
## [](#接続に必要なライブラリのセットアップ)接続に必要なライブラリのセットアップ **重要:**​ コネクタはどの特定の実装にもバインドされていないため、使用する接続の種別には関係なく、常に JMS クライアント実装を含むライブラリを設定する必要があります。 ### [](#ibm-mq-外部ライブラリ)IBM MQ 外部ライブラリ IBM MQ Connector を使用するには、外部 IBM MQ ライブラリを設定します。IBM MQ クライアントライブラリは、​`com.ibm.mq.jms.MQConnectionFactory`​ 実装を提供している必要があります。
IBM MQ Allclient ライブラリを使用します。
たとえば、次のように設定します。 ```xml com.ibm.mq com.ibm.mq.allclient 9.0.5.0 ``` ## [](#関連情報)関連情報 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-consume) - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish) - [新規メッセージのリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-listener) - [返信のリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish-consume) - [メッセージ肯定応答の処理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-ack) - [IBM MQ でのトランザクションの処理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-transactions) - [パフォーマンス調整](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-performance) - [コネクタリファレンス](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-xml-ref) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ 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/ibm-mq http://www.mulesoft.org/schema/mule/ibm-mq/current/mule-ibm-mq.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-ibm-mq-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 で、「​`ibm mq`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ 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/ibm-mq http://www.mulesoft.org/schema/mule/ibm-mq/current/mule-ibm-mq.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-ibm-mq-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 で、「​`ibm mq`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ Connector のトラブルシューティング IBM MQ 用 Anypoint Connector (IBM MQ Connector) のトラブルシューティングを行うには、冗長ログの有効化、肯定応答の問題のトラブルシューティング、MQ の停止したコンシュームメッセージのトラブルシューティング、バインディングモードの使用時の再デプロイメントエラーのトラブルシューティング、一般的なスローメッセージの解釈に関する情報を理解しておいてください。 ## [](#冗長ログの有効化)冗長ログの有効化 場合によって、アプリケーションが失敗した理由が不明で、アプリケーションの MQ サーバーとのインタラクションで何が起こっているかについて理解を深める必要があることもあります。 詳細なログを収集する手順は、次のとおりです。 - 設定ファイルを使用して、サーバー側のログレベルを引き上げます。 - JMS Connector と MQ パッケージの冗長ログを有効にします。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクト名を開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. 次の行がすでに ​`log4j2.xml`​ ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。 ```xml ``` ## [](#肯定応答の問題のトラブルシューティング)肯定応答の問題のトラブルシューティング メッセージの肯定応答に関してアプリケーションの設定に矛盾が生じる理由はいくつか考えられます。 アプリケーションのセッション肯定応答は次のように設定できます。 - **IMMEDIATE** - **AUTO** - **MANUAL** - **DUPS\_OK** セッション肯定応答を ​**IMMEDIATE**​ に設定すると、メッセージは受信されると直ちに肯定応答されます。​**IMMEDIATE**​ 肯定応答を ​**Ack**​ または ​**Recovery session**​ 操作と組み合わせないでください。 セッション肯定応答を ​**AUTO**​ に設定すると、イベントが完了したときに ​**On New Message**​ ソースで肯定応答が制御されるか、イベントの処理中にエラーが発生した場合はセッションが回復します。​**AUTO**​ 肯定応答のアプリケーションで手動肯定応答またはセッション回復を追加すると、チャネルで操作が重複します。 セッション肯定応答を ​**MANUAL**​ または ​**DUPS\_OK**​ に設定する場合は、フロー実行のすべてのパスでメッセージ肯定応答またはセッション回復を取得することを確認してください。確認しなかった場合、メッセージがリークし、作業単位の最大深度に達したときにコンシューマーが無応答になる可能性があります。 この問題を解決する手順は、次のとおりです。 フローデザインを詳しく調べて、すべてのメッセージが肯定応答されるか、セッションが回復することを確認してください。 ## [](#mq-の停止したコンシュームメッセージのトラブルシューティング)MQ の停止したコンシュームメッセージのトラブルシューティング 通常、MQ の停止したコンシュームメッセージは肯定応答されていない大量のメッセージに関連しています。Mule アプリケーションに ​**On New Message**​ ソースまたは ​**Consume**​ 操作とメッセージの手動肯定応答があり、メッセージのすべてのパスに適切な肯定応答またはセッション回復設定があるわけではない場合、Mule アプリケーションでコンシューマーが無応答になる場合があります。 このエラーを解決する手順は、次のとおりです。 ブローカー側で肯定応答されていないメッセージの深度をチェックし、アプリケーションロジックを確認します。 ## [](#バインディングモード使用時の再デプロイメントエラーのトラブルシューティング)バインディングモード使用時の再デプロイメントエラーのトラブルシューティング 接続にバインディングモードを使用している場合、ドライバーは JNI リソースを読み込みます。JNI リソースは一度しか読み込めないため、アプリケーションを再デプロイすると、エラーがスローされます。 このエラーを解決する手順は、次のとおりです。 ドメインレベルでドライバー連動関係を追加します。これにより、アプリケーションの再デプロイメントが可能になります。 ## [](#一般的なスローの理解)一般的なスローの理解 次に、一般的なスローメッセージとその解釈方法のリストを示します。 - IBM-MQ:ACK インフライトメッセージの肯定応答のコンテキストでエラーが発生しました。 - IBM-MQ:CONNECTIVITY 接続が有効ではなくなりました。破棄されますが、アプリケーションの設定で定義されている場合、再接続ポリシーを適用できます。 - IBM-MQ:CONSUMING WMQ からのメッセージのコンシューム中にエラーが発生しました。このエラーは保留中のメッセージが存在していないことに関連している場合もあります。 - IBM-MQ:DESTINATION\_NOT\_FOUND IBM MQ Connector が宛先を発見または作成できません。 - IBM-MQ:RETRY\_EXHAUSTED 操作の最大再試行回数に達しました。 - IBM-MQ:SECURITY セキュリティ関連のエラーが原因でスローされた例外。 - IBM-MQ:TIMEOUT 要求された操作のタイムアウトを超えました。 - IBM-MQ:ILLEGAL\_BODY メッセージ本文が無効であり、サポートされる種別に変換できません。 - IBM-MQ:PUBLISHING 対象キューまたはトピックへのパブリッシュ中にエラーが発生しました。 ## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [IBM MQ Connector リファレンス](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-xml-ref) # IBM MQ Connector のトラブルシューティング IBM MQ 用 Anypoint Connector (IBM MQ Connector) のトラブルシューティングを行うには、冗長ログの有効化、肯定応答の問題のトラブルシューティング、MQ の停止したコンシュームメッセージのトラブルシューティング、バインディングモードの使用時の再デプロイメントエラーのトラブルシューティング、一般的なスローメッセージの解釈に関する情報を理解しておいてください。 ## [](#冗長ログの有効化)冗長ログの有効化 場合によって、アプリケーションが失敗した理由が不明で、アプリケーションの MQ サーバーとのインタラクションで何が起こっているかについて理解を深める必要があることもあります。 詳細なログを収集する手順は、次のとおりです。 - 設定ファイルを使用して、サーバー側のログレベルを引き上げます。 - JMS Connector と MQ パッケージの冗長ログを有効にします。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクト名を開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. 次の行がすでに ​`log4j2.xml`​ ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。 ```xml ``` ## [](#肯定応答の問題のトラブルシューティング)肯定応答の問題のトラブルシューティング メッセージの肯定応答に関してアプリケーションの設定に矛盾が生じる理由はいくつか考えられます。 アプリケーションのセッション肯定応答は次のように設定できます。 - **IMMEDIATE** - **AUTO** - **MANUAL** - **DUPS\_OK** セッション肯定応答を ​**IMMEDIATE**​ に設定すると、メッセージは受信されると直ちに肯定応答されます。​**IMMEDIATE**​ 肯定応答を ​**Ack**​ または ​**Recovery session**​ 操作と組み合わせないでください。 セッション肯定応答を ​**AUTO**​ に設定すると、イベントが完了したときに ​**On New Message**​ ソースで肯定応答が制御されるか、イベントの処理中にエラーが発生した場合はセッションが回復します。​**AUTO**​ 肯定応答のアプリケーションで手動肯定応答またはセッション回復を追加すると、チャネルで操作が重複します。 セッション肯定応答を ​**MANUAL**​ または ​**DUPS\_OK**​ に設定する場合は、フロー実行のすべてのパスでメッセージ肯定応答またはセッション回復を取得することを確認してください。確認しなかった場合、メッセージがリークし、作業単位の最大深度に達したときにコンシューマーが無応答になる可能性があります。 この問題を解決する手順は、次のとおりです。 フローデザインを詳しく調べて、すべてのメッセージが肯定応答されるか、セッションが回復することを確認してください。 ## [](#mq-の停止したコンシュームメッセージのトラブルシューティング)MQ の停止したコンシュームメッセージのトラブルシューティング 通常、MQ の停止したコンシュームメッセージは肯定応答されていない大量のメッセージに関連しています。Mule アプリケーションに ​**On New Message**​ ソースまたは ​**Consume**​ 操作とメッセージの手動肯定応答があり、メッセージのすべてのパスに適切な肯定応答またはセッション回復設定があるわけではない場合、Mule アプリケーションでコンシューマーが無応答になる場合があります。 このエラーを解決する手順は、次のとおりです。 ブローカー側で肯定応答されていないメッセージの深度をチェックし、アプリケーションロジックを確認します。 ## [](#バインディングモード使用時の再デプロイメントエラーのトラブルシューティング)バインディングモード使用時の再デプロイメントエラーのトラブルシューティング 接続にバインディングモードを使用している場合、ドライバーは JNI リソースを読み込みます。JNI リソースは一度しか読み込めないため、アプリケーションを再デプロイすると、エラーがスローされます。 このエラーを解決する手順は、次のとおりです。 ドメインレベルでドライバー連動関係を追加します。これにより、アプリケーションの再デプロイメントが可能になります。 ## [](#一般的なスローの理解)一般的なスローの理解 次に、一般的なスローメッセージとその解釈方法のリストを示します。 - IBM-MQ:ACK インフライトメッセージの肯定応答のコンテキストでエラーが発生しました。 - IBM-MQ:CONNECTIVITY 接続が有効ではなくなりました。破棄されますが、アプリケーションの設定で定義されている場合、再接続ポリシーを適用できます。 - IBM-MQ:CONSUMING WMQ からのメッセージのコンシューム中にエラーが発生しました。このエラーは保留中のメッセージが存在していないことに関連している場合もあります。 - IBM-MQ:DESTINATION\_NOT\_FOUND IBM MQ Connector が宛先を発見または作成できません。 - IBM-MQ:RETRY\_EXHAUSTED 操作の最大再試行回数に達しました。 - IBM-MQ:SECURITY セキュリティ関連のエラーが原因でスローされた例外。 - IBM-MQ:TIMEOUT 要求された操作のタイムアウトを超えました。 - IBM-MQ:ILLEGAL\_BODY メッセージ本文が無効であり、サポートされる種別に変換できません。 - IBM-MQ:PUBLISHING 対象キューまたはトピックへのパブリッシュ中にエラーが発生しました。 ## [](#関連情報)関連情報 - [IBM MQ Connector リファレンス](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-xml-ref) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Known Issues](https://help.salesforce.com/s/issues) # IBM MQ Connector の例 IBM MQ 用 Anypoint Connector (IBM MQ Connector) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [メッセージ肯定応答の管理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-ack) さまざまな肯定応答設定 (成功時の自動肯定応答、即時肯定応答、手動肯定応答など) を管理するように IBM MQ Connector を設定します。 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-listener) メッセージが宛先に到着した時点でメッセージをコンシュームするように JMS Connector の ​**Listener**​ ソースを設定します。 - [新規メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish) 新しい JMS メッセージを作成して、指定した宛先に送信するように ​**Publish**​ 操作を設定します。 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-consume) フローの任意の時点で任意の宛先からのメッセージをコンシュームするように ​**Consume**​ 操作を設定します。 - [メッセージのパブリッシュと返信のリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish-consume) メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機するように ​**Publish consume**​ 操作を設定します。 - [トランザクションの管理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-transactions) トランザクション接続を管理して一連の操作を実行するように IBM MQ Connector を設定します。 - [トピックサブスクリプションの設定](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription) コンシューマーの接続に関するサブスクリプションの動作と、コンシューマー間の相互動作を制御するように IBM MQ Connector のトピックサブスクリプションを設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ Connector の例 IBM MQ 用 Anypoint Connector (IBM MQ Connector) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [メッセージ肯定応答の管理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-ack) さまざまな肯定応答設定 (成功時の自動肯定応答、即時肯定応答、手動肯定応答など) を管理するように IBM MQ Connector を設定します。 - [新規メッセージのリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-listener) メッセージが宛先に到着した時点でメッセージをコンシュームするように JMS Connector の ​**Listener**​ ソースを設定します。 - [新規メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish) 新しい JMS メッセージを作成して、指定した宛先に送信するように ​**Publish**​ 操作を設定します。 - [メッセージのコンシューム](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-consume) フローの任意の時点で任意の宛先からのメッセージをコンシュームするように ​**Consume**​ 操作を設定します。 - [メッセージのパブリッシュと返信のリスン](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish-consume) メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機するように ​**Publish consume**​ 操作を設定します。 - [トランザクションの管理](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-transactions) トランザクション接続を管理して一連の操作を実行するように IBM MQ Connector を設定します。 - [トピックサブスクリプションの設定](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription) コンシューマーの接続に関するサブスクリプションの動作と、コンシューマー間の相互動作を制御するように IBM MQ Connector のトピックサブスクリプションを設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ Connector リファレンス IBM MQ Connector v1.6 このコネクタのメインクラスを提供します。これは、設定、接続プロバイダー、操作、およびソースを宣言するエントリポイントです。 リリースノート: [IBM MQ Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-ibm-mq) ## [](#設定)設定 * * * ### [](#config)設定 デフォルトの設定です。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

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

x

Connection (接続)

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

x

Encoding (エンコード)

String (文字列)

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

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

String (文字列)

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

/

Send Correlation Id (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

AUTO

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

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。ランタイムによって適切と判断されたときに、インスタンスがパージされます。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

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

AUTO

Consumer Type (コンシューマー種別)

次のいずれかになります。

Selector (セレクター)

String (文字列)

受信メッセージの絞り込みに使用するデフォルトの JMS セレクター。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT ​JMSDeliveryMode​ を使用して送信されます。

false

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの ​JMSPriority​ 値。

4

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

0

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

MILLISECONDS

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

false

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

false

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 のみで使用: メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

JMS 2.0 のみで使用: deliveryDelay 設定で使用する時間単位。

MILLISECONDS

Jms Type (JMS 種別)

String (文字列)

メッセージが送信されるときに JMSType ヘッダーで設定されるメッセージ種別の識別子。

#### [](#接続種別)接続種別 ##### [](#config_connection)Connection (接続) ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

接続モード

次のいずれかになります。

x

Username (ユーザー名)

String (文字列)

IBM MQ サーバーに接続するために使用するユーザー名。

Password (パスワード)

String (文字列)

使用するユーザー名のパスワード。

Client ID (クライアント ID)

String (文字列)

現在のクライアントを識別するために使用する JMS クライアントの ID。

CSS ID

Number (数値)

キューマネージャーに接続するときに使用する数字。ほとんどの場合、デフォルト値 (819) で問題ありません。

Additional Properties (追加プロパティ)

Object (オブジェクト)

IBM MQ クライアントを設定するための追加のプロパティ。

キャッシュ戦略

次のいずれかになります。

セッションと接続のキャッシュに使用する戦略。

Enable XA Transactions (XA トランザクションの有効化)

Boolean (ブール)

XA トランザクションの作成と結合をサポートしており、複数リソースのトランザクションに関与できます。

IBM MQ Connector では、IBM MQ ドライバーの制限により、ネストされた XA トランザクションはサポートされません。

false

Specification (仕様)

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

  • JMS_2_0​

  • JMS_1_1

JMS クライアントの JMS 仕様のバージョン。

JMS_2_0

Target Client (対象クライアント)

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

  • JMS_COMPLIANT​

  • NO_JMS_COMPLIANT

IBM MQ JMS クライアントの作成方法。​JMS_COMPLIANT​ を指定すると、RFH2 形式を使用して情報が送信されます。RFH2 ヘッダーには、メッセージコンテンツに関連した JMS 特有のデータが格納されます。​JMS_COMPLIANT​ を指定しないと、ユーザープロパティやメディア種別の伝播などの機能が無効になります。

JMS_COMPLIANT

Application Name (アプリケーション名)

String (文字列)

接続ファクトリーに登録されるアプリケーション名。デフォルトでは、アプリケーション名がそのまま使用されます。27 文字以内で指定できます。

Read Message Descriptor (MD) (メッセージディスクリプター (MD) の読み取り)

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

  • ENABLED

  • DISABLED

メッセージディスクリプタープロパティの読み取りが有効かどうか。

ENABLED

Write Message Descriptor (MD) (メッセージディスクリプター (MD) の書き込み)

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

  • ENABLED

  • DISABLED

メッセージディスクリプタープロパティの書き込みが有効かどうか。

ENABLED

Message Context (メッセージコンテキスト)

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

  • DEFAULT

  • SET_ALL_CONTEXT​

  • SET_IDENTITY_CONTEXT

メッセージオプションを設定するためのメッセージコンテキスト。

  • DEFAULT: オプションは設定できません。

  • SET_ALL_CONTEXT​: すべてのオプションを設定できます。

  • SET_IDENTITY_CONTEXT​: アイデンティティオプションのみ設定できます。

DEFAULT

Temporary Model (一時モデル)

String (文字列)

永続的な動的キューを作成するために使用できるモデルキューを意味する IBM MQ モデルキューの名前。

Temporal Queue Prefix (一時キュープレフィックス)

String (文字列)

一時キュー名を作成する際に使用するプレフィックス。最後の空白以外の文字はアスタリスク (​*​) である必要があります。

Temporal Topic Prefix (一時トピックプレフィックス)

String (文字列)

一時トピック名を作成する際に使用するプレフィックス。最後の空白以外の文字はアスタリスク (​*​) である必要があります。

Receive Exit Handler (受信終了ハンドラー)

String (文字列)

受信終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Receive Exit Handler Init (受信終了ハンドラー初期化)

String (文字列)

受信終了の初期化文字列。

Send Exit Handler (送信終了ハンドラー)

String (文字列)

送信終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Send Exit Handler Init (送信終了ハンドラー初期化)

String (文字列)

送信終了の初期化文字列。

Security Exit Handler (セキュリティ終了ハンドラー)

String (文字列)

セキュリティ終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Security Exit Handler Init (セキュリティ終了ハンドラー初期化)

String (文字列)

セキュリティ終了の初期化文字列。

Min Pool Size (最小プールサイズ)

Number (数値)

XA 接続プールの最小サイズ。

4

Max Pool Size (最大プールサイズ)

Number (数値)

XA 接続プールの最大サイズ。

32

Max Idle Seconds (最大アイドル秒)

Number (数値)

XA トランザクション接続が除去対象となるまでアイドル状態を維持できる秒数。

60

IBM MQ CipherSpec Mapping (IBM MQ CipherSpec マッピング)

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

  • ORACLE_CIPHER_SUITES​

  • IBM_CIPHER_SUITES​

  • None (なし)

Oracle JDK と IBM JDK のどちらの CipherSuite マッピングを使用するかを定義します。ホスト JDK に応じてこのパラメーターを設定します。詳細は、 「SSL/TLS CipherSpecs および CipherSuites」​を参照してください。

ORACLE_CIPHER_SUITES

IBM Cipher Suite (IBM 暗号化スイート)

String (文字列)

IBM MQ サーバーに接続するために使用する CipherSuite。

Reset Count (リセット数)

Number (数値)

このプロパティは、暗号化で使用するシークレットキーが再ネゴシエートされるまでに、接続により送受信された合計バイト数を表します。0 (無効) ~ 999999999 の整数値。

Peer Name (ピア名)

String (文字列)

識別名パターンを指定して、JMS アプリケーションが正しいキューマネージャーに接続されるようにします。

FIPS Required (必要な FIPS)

Boolean (ブール)

IBM Java JSSE FIPS プロバイダー (IBMJSSEFIPS) でサポートされる暗号化スイートを接続で使用する必要がある場合、有効にします。

false

Cert Stores (証明書ストア)

String (文字列)

証明書失効リスト (CRL) の確認で使用する LDAP サーバーのリストを指定します。

TLS Context

TLS

Reconnection (再接続)

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

[Advanced (詳細)]​ タブに移動し、​[Additional properties (追加プロパティ)]​ セクションで ​XMSC_WMQ_CCDTURL​ プロパティと ​XMSC_WMQ_QUEUE_MANAGER​ プロパティを追加することで、クライアントチャネル定義テーブル (CCDT) 接続を設定することもできます。​XMSC_WMQ_CCDTURL​ プロパティを使用する場合は、​[General (一般)]​ タブで ​[Connection mode (接続モード)]​ が ​[Client (クライアント)]​ に設定されていることを確認してください。
## [](#操作)操作 - [Consume](#consume) - [Publish](#publish) - [Publish Consume](#publishConsume) ## [](#ソース)ソース - [新規メッセージ](#listener) ### [](#consume)Consume `` 特定の宛先から単一のメッセージをユーザーがコンシュームできるようにします。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

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

x

Consumer Type (コンシューマー種別)

次のいずれかになります。

特定の宛先に必要な MessageConsumer の種別と、宛先種別に基づいて必要となるその他の設定。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • MANUAL

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

Selector (セレクター)

String (文字列)

メッセージの絞り込みに使用するカスタム JMS セレクター。

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

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

String (文字列)

受信したメッセージのコンテンツタイプ。メッセージで指定されている場合は、この設定は上書きされます。

Encoding (エンコード)

String (文字列)

受信したメッセージのエンコード。メッセージで指定されている場合は、この設定は上書きされます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

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

#[payload]

Reconnection Strategy (再接続戦略)

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

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合)次の設定の場合 - [設定](#config) #### [](#スロー)スロー - IBM-MQ:ACK - IBM-MQ:CONNECTIVITY - IBM-MQ:CONSUMING - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY - IBM-MQ:TIMEOUT ### [](#publish)Publish `` ユーザーがメッセージを JMS 宛先に送信できるようにします。
Publish​ 操作で複数の MUnit テストスイートを使用する場合、​avoid.dispose.mq.threads​ システムプロパティを ​true​ に設定します。このプロパティにより、次のテストスイートの実行に必要な IBM MQ スレッドをコネクタでクリーンアップできなくなります。
#### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Destination Type (宛先種別)

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

  • QUEUE

  • TOPIC

宛先の MQDestinationType。

QUEUE

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

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

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

操作のトランザクションアクション。パブリッシュをトランザクションとして実行するかどうかを指定します。

JOIN_IF_POSSIBLE

Send Correlation Id (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT JMSDeliveryMode を使用して送信されます。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Reconnection Strategy (再接続戦略)

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

### [](#次の設定の場合-2)次の設定の場合 - [設定](#config) #### [](#スロー-2)スロー - IBM-MQ:CONNECTIVITY - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:ILLEGAL\_BODY - IBM-MQ:PUBLISHING - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY ### [](#publishConsume)Publish Consume `` ユーザーが JMS 宛先にメッセージを送信し、指定された ReplyTo 宛先または動的に作成される一時的な宛先への応答を待機できるようします。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Request-Reply Pattern (要求-応答パターン)

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

  • CORRELATION_ID​

  • MESSAGE_ID​

  • None (なし)

要求メッセージと応答メッセージの相関方法を示します。これにより、受信メッセージが送信メッセージの正しい応答であることが保証されます。

* CORRELATION_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージと同じ相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

* MESSAGE_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージのメッセージ ID と同じ値の相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

CORRELATION_ID

Send Correlation ID (送信相関 ID)

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

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

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT JMSDeliveryMode を使用して送信されます。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • MANUAL

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

IMMEDIATE

Maximum Wait (最大待機)

Number (数値)

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

10000

Maximum Wait Unit (最大待機単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

MILLISECONDS

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

String (文字列)

コンシュームするメッセージ本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

コンシュームするメッセージ本文のエンコード。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

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

#[payload]

Reconnection Strategy (再接続戦略)

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

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-3)次の設定の場合 - [設定](#config) #### [](#スロー-3)スロー - IBM-MQ:ACK - IBM-MQ:CONNECTIVITY - IBM-MQ:CONSUMING - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:ILLEGAL\_BODY - IBM-MQ:PUBLISHING - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY - IBM-MQ:TIMEOUT ### [](#ack)Ack `` メッセージのコンシューム中に AckMode#MANUAL モードが選択された場合にユーザーが肯定応答を実行できるようにします。JMS 仕様に従い、単一のメッセージに対する肯定応答は自動的に同じ JmsSession で生成されるすべてのメッセージの肯定応答として機能します。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

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

x

#### [](#スロー-4)スロー - IBM-MQ:ACK ### [](#recoverSession)Recover Session `` メッセージのコンシューム中に AckMode#MANUAL モードが選択された場合にユーザーがセッション回復を実行できるようにします。JMS 仕様の定義により、セッションリカバリーを実行すると、そのリカバリー以前にコンシュームされていて肯定応答されていなかったすべてのメッセージが再配信されます。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

リカバリーするメッセージセッションの AckId。

x

#### [](#スロー-5)スロー - IBM-MQ:SESSION\_RECOVER ## [](#ソース-2)ソース ### [](#listener)新規メッセージ `` #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

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

x

Consumer Type (コンシューマー種別)

次のいずれかになります。

指定された宛先で使用するコンシューマーの種別。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

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

Selector (セレクター)

String (文字列)

受信メッセージの絞り込みに使用する JMS セレクター。

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

Number (数値)

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

4

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

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

  • ALWAYS_BEGIN​

  • None (なし)

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

NONE

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

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

  • LOCAL

  • XA

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

LOCAL

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

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

true

Redelivery Policy (再配信ポリシー)

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

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

String (文字列)

受信したメッセージのコンテンツタイプを設定します。メッセージにすでにコンテンツタイプが指定されている場合は、その設定は上書きされます。

Encoding (エンコード)

String (文字列)

受信したメッセージのエンコードを設定します。メッセージで指定されている場合は、その設定は上書きされます。

Reconnection Strategy (再接続戦略)

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

Ignore JMS replyTo header (JMS replyTo ヘッダーを無視)

Boolean (ブール)

宛先ヘッダーが含まれるメッセージの自動応答が必要ない場合は True

false

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

配信を永続的な設定で行うかどうか。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

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

Send Correlation ID (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

Request Reply Pattern (要求応答パターン)

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

  • CORRELATION_ID​

  • MESSAGE_ID​

  • None (なし)

要求メッセージと応答メッセージの相関方法を示します。これにより、受信メッセージが送信メッセージの正しい応答であることが保証されます。

* CORRELATION_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージと同じ相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

* MESSAGE_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージのメッセージ ID と同じ値の相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

CORRELATION_ID

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-4)次の設定の場合 - [設定](#config) ## [](#型)型 ### [](#Tls)TLS
項目 型 説明 デフォルト値 必須

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

String (文字列)

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

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

String (文字列)

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

Trust Store (トラストストア)

Key Store (キーストア)

Revocation Check (取り消し確認)

### [](#TrustStore)トラストストア
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

トラストストアの場所。可能であれば、現在のクラスパスとファイルシステムに対して相対的に解決されます。

Password (パスワード)

String (文字列)

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

Type (型)

String (文字列)

使用するストアの型。

Algorithm (アルゴリズム)

String (文字列)

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

Insecure (安全ではない)

Boolean (ブール)

true の場合、証明書の検証が行われず、攻撃に対して脆弱な接続がレンダリングされます。各自の責任で使用してください。

### [](#KeyStore)Key Store (キーストア)
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

キーストアの場所。可能であれば、現在のクラスパスとファイルシステムに対して相対的に解決されます。

Type (型)

String (文字列)

使用するストアの型。

Alias (別名)

String (文字列)

キーストアに多数の非公開キーがある場合、この属性は、使用する鍵の別名を示します。定義しない場合、ファイルにある最初のキーがデフォルトで使用されます。

Key Password (キーパスワード)

String (文字列)

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

Password (パスワード)

String (文字列)

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

Algorithm (アルゴリズム)

String (文字列)

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

### [](#standard-revocation-check)Standard Revocation Check (標準の取り消し確認)
項目 型 説明 デフォルト値 必須

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

Boolean (ブール)

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

Prefer Crls (CRL を優先)

Boolean (ブール)

最初に OCSP ではなく CRL を試みます。

No Fallback (代替なし)

Boolean (ブール)

第 2 の確認方法 (以前に選択されていない方法) を使用しません。

Soft Fail (ソフトフェール)

Boolean (ブール)

取り消しサーバーに到達できない場合や取り消しサーバーが混雑している場合に検証エラーを回避します。

### [](#custom-ocsp-responder)Custom OCSP Responder (カスタム OCSP レスポンダー)
項目 型 説明 デフォルト値 必須

Url

String (文字列)

OCSP レスポンダーの URL。

Cert Alias (証明書の別名)

String (文字列)

(トラストストアに含まれている) OCSP 応答の署名証明書の別名 (存在する場合)。

### [](#crl-file)CRL File (CRL ファイル)
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

CRL ファイルへのパス。

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

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

Boolean (ブール)

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

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

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

Frequency (頻度)

Number (数値)

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

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

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

true

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

Frequency (頻度)

Number (数値)

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

blocking (ブロック)

Boolean (ブール)

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

true

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー)
項目 型 説明 デフォルト値 必須

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

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time Unit (時間単位)

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

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

maxIdleTime 属性の時間単位。

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

Properties (プロパティ)

Headers (ヘッダー)

Any (任意)

x

Ack Id

String (文字列)

### [](#JMS-Message-Properties)JMS メッセージのプロパティ
項目 型 説明 デフォルト値 必須

すべて

Any (任意)

x

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

Any (任意)

x

Jms Properties (JMS プロパティ)

Any (任意)

x

Jmsx Properties (JMSX プロパティ)

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

Jmsx User ID (JMSX ユーザー ID)

String (文字列)

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

String (文字列)

Jmsx Delivery Count (JMSX 配信数)

Number (数値)

Jmsx Group ID (JMSX グループ ID)

String (文字列)

Jmsx Group Seq (JMSX グループシーケンス)

Number (数値)

Jmsx Producer TXID (JMSX プロデューサー TXID)

String (文字列)

Jmsx Consumer TXID (JMSX コンシューマー TXID)

String (文字列)

Jmsx Rcv Timestamp (JMSX 受信タイムスタンプ)

Number (数値)

### [](#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 (オブジェクトストア)

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

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

### [](#MQJmsDestination)MQ JMS Destination (MQ JMS 宛先)
項目 型 説明 デフォルト値 必須

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Destination Type (宛先種別)

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

  • QUEUE

  • TOPIC

この宛先の種別。

QUEUE

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

Jmsx User ID (JMSX ユーザー ID)

String (文字列)

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

String (文字列)

Jmsx Delivery Count (JMSX 配信数)

Number (数値)

Jmsx Group ID (JMSX グループ ID)

String (文字列)

Jmsx Group Seq (JMSX グループシーケンス)

Number (数値)

Jmsx Producer TXID (JMSX プロデューサー TXID)

String (文字列)

Jmsx Consumer TXID (JMSX コンシューマー TXID)

String (文字列)

Jmsx Rcv Timestamp (JMSX 受信タイムスタンプ)

Number (数値)

### [](#topic-consumer)Topic Consumer (トピックコンシューマー)
項目 型 説明 デフォルト値 必須

Durable (永続的)

Boolean (ブール)

false

Shared (共有)

Boolean (ブール)

false

No Local (非ローカル)

Boolean (ブール)

false

Subscription Name (サブスクリプション名)

String (文字列)

### [](#binding)Binding (バインディング)
項目 型 説明 デフォルト値 必須

Queue Manager (キューマネージャー)

String (文字列)

キューマネージャー名。

### [](#client)Client (クライアント)
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

IBM MQ ブローカーが存在するホスト。

x

Port (ポート)

Number (数値)

キューマネージャーのリスナーポート。

1414

Queue Manager (キューマネージャー)

String (文字列)

チャネル定義の選択時に使用するキューマネージャー。

Channel (チャネル)

String (文字列)

接続先のチャネル名。

Connection Name List (接続名リスト)

String (文字列)

接続が失われたときにクライアントが再接続を試みるホスト。接続名リストでは、ホストと IP ポートのペアをカンマで区切って指定します。

### [](#default-caching)Default Caching (デフォルトキャッシュ)
項目 型 説明 デフォルト値 必須

Session Cache Size (セッションキャッシュサイズ)

Number (数値)

セッションキャッシュのサイズ。

Cache Producers (キャッシュプロデューサー)

Boolean (ブール)

プロデューサーをキャッシュするかどうかを示します。

true

Cache Consumers (キャッシュコンシューマー)

Boolean (ブール)

コンシューマーをキャッシュするかどうかを示します。

true

## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ Connector リファレンス IBM MQ Connector v1.7 このコネクタのメインクラスを提供します。これは、設定、接続プロバイダー、操作、およびソースを宣言するエントリポイントです。 リリースノート: [IBM MQ Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/connector-ibm-mq) ## [](#設定)設定 * * * ### [](#config)設定 デフォルトの設定です。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

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

x

Connection (接続)

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

x

Encoding (エンコード)

String (文字列)

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

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

String (文字列)

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

/

Send Correlation Id (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

AUTO

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

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。ランタイムによって適切と判断されたときに、インスタンスがパージされます。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

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

AUTO

Consumer Type (コンシューマー種別)

次のいずれかになります。

Selector (セレクター)

String (文字列)

受信メッセージの絞り込みに使用するデフォルトの JMS セレクター。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT ​JMSDeliveryMode​ を使用して送信されます。

false

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの ​JMSPriority​ 値。

4

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

0

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

MILLISECONDS

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

false

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

false

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 のみで使用: メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

JMS 2.0 のみで使用: deliveryDelay 設定で使用する時間単位。

MILLISECONDS

Jms Type (JMS 種別)

String (文字列)

メッセージが送信されるときに JMSType ヘッダーで設定されるメッセージ種別の識別子。

#### [](#接続種別)接続種別 ##### [](#config_connection)Connection (接続) ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

接続モード

次のいずれかになります。

x

Username (ユーザー名)

String (文字列)

IBM MQ サーバーに接続するために使用するユーザー名。

Password (パスワード)

String (文字列)

使用するユーザー名のパスワード。

Client ID (クライアント ID)

String (文字列)

現在のクライアントを識別するために使用する JMS クライアントの ID。

CSS ID

Number (数値)

キューマネージャーに接続するときに使用する数字。ほとんどの場合、デフォルト値 (819) で問題ありません。

Additional Properties (追加プロパティ)

Object (オブジェクト)

IBM MQ クライアントを設定するための追加のプロパティ。

キャッシュ戦略

次のいずれかになります。

セッションと接続のキャッシュに使用する戦略。

Enable XA Transactions (XA トランザクションの有効化)

Boolean (ブール)

XA トランザクションの作成と結合をサポートしており、複数リソースのトランザクションに関与できます。

IBM MQ Connector では、IBM MQ ドライバーの制限により、ネストされた XA トランザクションはサポートされません。

false

Specification (仕様)

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

  • JMS_2_0​

  • JMS_1_1

JMS クライアントの JMS 仕様のバージョン。

JMS_2_0

Target Client (対象クライアント)

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

  • JMS_COMPLIANT​

  • NO_JMS_COMPLIANT

IBM MQ JMS クライアントの作成方法。​JMS_COMPLIANT​ を指定すると、RFH2 形式を使用して情報が送信されます。RFH2 ヘッダーには、メッセージコンテンツに関連した JMS 特有のデータが格納されます。​JMS_COMPLIANT​ を指定しないと、ユーザープロパティやメディア種別の伝播などの機能が無効になります。

JMS_COMPLIANT

Application Name (アプリケーション名)

String (文字列)

接続ファクトリーに登録されるアプリケーション名。デフォルトでは、アプリケーション名がそのまま使用されます。27 文字以内で指定できます。

Read Message Descriptor (MD) (メッセージディスクリプター (MD) の読み取り)

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

  • ENABLED

  • DISABLED

メッセージディスクリプタープロパティの読み取りが有効かどうか。

ENABLED

Write Message Descriptor (MD) (メッセージディスクリプター (MD) の書き込み)

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

  • ENABLED

  • DISABLED

メッセージディスクリプタープロパティの書き込みが有効かどうか。

ENABLED

Message Context (メッセージコンテキスト)

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

  • DEFAULT

  • SET_ALL_CONTEXT​

  • SET_IDENTITY_CONTEXT

メッセージオプションを設定するためのメッセージコンテキスト。

  • DEFAULT: オプションは設定できません。

  • SET_ALL_CONTEXT​: すべてのオプションを設定できます。

  • SET_IDENTITY_CONTEXT​: アイデンティティオプションのみ設定できます。

DEFAULT

Temporary Model (一時モデル)

String (文字列)

永続的な動的キューを作成するために使用できるモデルキューを意味する IBM MQ モデルキューの名前。

Temporal Queue Prefix (一時キュープレフィックス)

String (文字列)

一時キュー名を作成する際に使用するプレフィックス。最後の空白以外の文字はアスタリスク (​*​) である必要があります。

Temporal Topic Prefix (一時トピックプレフィックス)

String (文字列)

一時トピック名を作成する際に使用するプレフィックス。最後の空白以外の文字はアスタリスク (​*​) である必要があります。

Receive Exit Handler (受信終了ハンドラー)

String (文字列)

受信終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Receive Exit Handler Init (受信終了ハンドラー初期化)

String (文字列)

受信終了の初期化文字列。

Send Exit Handler (送信終了ハンドラー)

String (文字列)

送信終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Send Exit Handler Init (送信終了ハンドラー初期化)

String (文字列)

送信終了の初期化文字列。

Security Exit Handler (セキュリティ終了ハンドラー)

String (文字列)

セキュリティ終了ハンドラークラス。IBM MQ Java で使用する終了ハンドラーを作成する場合、各オブジェクトにも 1 つの文字列引数を取るコンストラクターが必要です。IBM MQ が終了ハンドラーのインスタンスを作成する際には、このコンストラクターを使用して初期化データを終了ハンドラーに渡します。

Security Exit Handler Init (セキュリティ終了ハンドラー初期化)

String (文字列)

セキュリティ終了の初期化文字列。

Min Pool Size (最小プールサイズ)

Number (数値)

XA 接続プールの最小サイズ。

4

Max Pool Size (最大プールサイズ)

Number (数値)

XA 接続プールの最大サイズ。

32

Max Idle Seconds (最大アイドル秒)

Number (数値)

XA トランザクション接続が除去対象となるまでアイドル状態を維持できる秒数。

60

IBM MQ CipherSpec Mapping (IBM MQ CipherSpec マッピング)

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

  • ORACLE_CIPHER_SUITES​

  • IBM_CIPHER_SUITES​

  • NONE

Oracle JDK と IBM JDK のどちらの CipherSuite マッピングを使用するかを定義します。ホスト JDK に応じてこのパラメーターを設定します。詳細は、 「SSL/TLS CipherSpecs および CipherSuites」​を参照してください。

ORACLE_CIPHER_SUITES

IBM Cipher Suite (IBM 暗号化スイート)

String (文字列)

IBM MQ サーバーに接続するために使用する CipherSuite。

Reset Count (リセット数)

Number (数値)

このプロパティは、暗号化で使用するシークレットキーが再ネゴシエートされるまでに、接続により送受信された合計バイト数を表します。0 (無効) ~ 999999999 の整数値。

Peer Name (ピア名)

String (文字列)

識別名パターンを指定して、JMS アプリケーションが正しいキューマネージャーに接続されるようにします。

FIPS Required (必要な FIPS)

Boolean (ブール)

IBM Java JSSE FIPS プロバイダー (IBMJSSEFIPS) でサポートされる暗号化スイートを接続で使用する必要がある場合、有効にします。

false

Cert Stores (証明書ストア)

String (文字列)

証明書失効リスト (CRL) の確認で使用する LDAP サーバーのリストを指定します。

TLS Context

TLS

Reconnection (再接続)

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

[Advanced (詳細)]​ タブに移動し、​[Additional properties (追加プロパティ)]​ セクションで ​XMSC_WMQ_CCDTURL​ プロパティと ​XMSC_WMQ_QUEUE_MANAGER​ プロパティを追加することで、クライアントチャネル定義テーブル (CCDT) 接続を設定することもできます。​XMSC_WMQ_CCDTURL​ プロパティを使用する場合は、​[General (一般)]​ タブで ​[Connection mode (接続モード)]​ が ​[Client (クライアント)]​ に設定されていることを確認してください。
## [](#操作)操作 - [Consume](#consume) - [Publish](#publish) - [Publish Consume](#publishConsume) ## [](#ソース)ソース - [On New Message](#listener) ### [](#consume)Consume `` 特定の宛先から単一のメッセージをユーザーがコンシュームできるようにします。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

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

x

Consumer Type (コンシューマー種別)

次のいずれかになります。

特定の宛先に必要な MessageConsumer の種別と、宛先種別に基づいて必要となるその他の設定。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • MANUAL

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

Selector (セレクター)

String (文字列)

メッセージの絞り込みに使用するカスタム JMS セレクター。

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

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

String (文字列)

受信したメッセージのコンテンツタイプ。メッセージで指定されている場合は、この設定は上書きされます。

Encoding (エンコード)

String (文字列)

受信したメッセージのエンコード。メッセージで指定されている場合は、この設定は上書きされます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

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

#[payload]

Reconnection Strategy (再接続戦略)

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

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合)次の設定の場合 - [設定](#config) #### [](#スロー)スロー - IBM-MQ:ACK - IBM-MQ:CONNECTIVITY - IBM-MQ:CONSUMING - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY - IBM-MQ:TIMEOUT ### [](#publish)Publish `` ユーザーがメッセージを JMS 宛先に送信できるようにします。
Publish​ 操作で複数の MUnit テストスイートを使用する場合、​avoid.dispose.mq.threads​ システムプロパティを ​true​ に設定します。このプロパティにより、次のテストスイートの実行に必要な IBM MQ スレッドをコネクタでクリーンアップできなくなります。
#### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Destination Type (宛先種別)

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

  • QUEUE

  • TOPIC

宛先の MQDestinationType。

QUEUE

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

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

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

操作のトランザクションアクション。パブリッシュをトランザクションとして実行するかどうかを指定します。

JOIN_IF_POSSIBLE

Send Correlation Id (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT JMSDeliveryMode を使用して送信されます。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Reconnection Strategy (再接続戦略)

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

### [](#次の設定の場合-2)次の設定の場合 - [設定](#config) #### [](#スロー-2)スロー - IBM-MQ:CONNECTIVITY - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:ILLEGAL\_BODY - IBM-MQ:PUBLISHING - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY ### [](#publishConsume)Publish Consume `` ユーザーが JMS 宛先にメッセージを送信し、指定された ReplyTo 宛先または動的に作成される一時的な宛先への応答を待機できるようします。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Request-Reply Pattern (要求-応答パターン)

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

  • CORRELATION_ID​

  • MESSAGE_ID​

  • NONE

要求メッセージと応答メッセージの相関方法を示します。これにより、受信メッセージが送信メッセージの正しい応答であることが保証されます。

* CORRELATION_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージと同じ相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

* MESSAGE_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージのメッセージ ID と同じ値の相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

CORRELATION_ID

Send Correlation ID (送信相関 ID)

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

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

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

true の場合、メッセージは PERSISTENT JMSDeliveryMode を使用して送信されます。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • MANUAL

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

IMMEDIATE

Maximum Wait (最大待機)

Number (数値)

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

10000

Maximum Wait Unit (最大待機単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

MILLISECONDS

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

String (文字列)

コンシュームするメッセージ本文のコンテンツタイプ。

Encoding (エンコード)

String (文字列)

コンシュームするメッセージ本文のエンコード。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

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

#[payload]

Reconnection Strategy (再接続戦略)

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

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-3)次の設定の場合 - [設定](#config) #### [](#スロー-3)スロー - IBM-MQ:ACK - IBM-MQ:CONNECTIVITY - IBM-MQ:CONSUMING - IBM-MQ:DESTINATION\_NOT\_FOUND - IBM-MQ:ILLEGAL\_BODY - IBM-MQ:PUBLISHING - IBM-MQ:RETRY\_EXHAUSTED - IBM-MQ:SECURITY - IBM-MQ:TIMEOUT ### [](#ack)Ack `` メッセージのコンシューム中に AckMode#MANUAL モードが選択された場合にユーザーが肯定応答を実行できるようにします。JMS 仕様に従い、単一のメッセージに対する肯定応答は自動的に同じ JmsSession で生成されるすべてのメッセージの肯定応答として機能します。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

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

x

#### [](#スロー-4)スロー - IBM-MQ:ACK ### [](#recoverSession)Recover Session `` メッセージのコンシューム中に AckMode#MANUAL モードが選択された場合にユーザーがセッション回復を実行できるようにします。JMS 仕様の定義により、セッションリカバリーを実行すると、そのリカバリー以前にコンシュームされていて肯定応答されていなかったすべてのメッセージが再配信されます。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Ack Id

String (文字列)

リカバリーするメッセージセッションの AckId。

x

#### [](#スロー-5)スロー - IBM-MQ:SESSION\_RECOVER ## [](#ソース-2)ソース ### [](#listener)On New Message `` #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Destination (宛先)

String (文字列)

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

x

Consumer Type (コンシューマー種別)

次のいずれかになります。

指定された宛先で使用するコンシューマーの種別。

Ack Mode (肯定応答モード)

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

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

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

Selector (セレクター)

String (文字列)

受信メッセージの絞り込みに使用する JMS セレクター。

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

Number (数値)

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

4

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

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

  • ALWAYS_BEGIN​

  • NONE

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

NONE

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

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

  • LOCAL

  • XA

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

LOCAL

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

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

true

Redelivery Policy (再配信ポリシー)

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

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

String (文字列)

受信したメッセージのコンテンツタイプを設定します。メッセージにすでにコンテンツタイプが指定されている場合は、その設定は上書きされます。

Encoding (エンコード)

String (文字列)

受信したメッセージのエンコードを設定します。メッセージで指定されている場合は、その設定は上書きされます。

Reconnection Strategy (再接続戦略)

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

Ignore JMS replyTo header (JMS replyTo ヘッダーを無視)

Boolean (ブール)

宛先ヘッダーが含まれるメッセージの自動応答が必要ない場合は True

false

Body (本文)

Any (任意)

メッセージの本文。

#[payload]

JMS Type (JMS 種別)

String (文字列)

メッセージの JMSType 識別子ヘッダー。

Correlation ID (相関 ID)

String (文字列)

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

Send Content Type (コンテンツタイプの送信)

Boolean (ブール)

本文のコンテンツタイプをプロパティとして送信するかどうか。

true

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

String (文字列)

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

Send Encoding (エンコードの送信)

Boolean (ブール)

本文の outboundEncoding をメッセージのプロパティとして送信するかどうか。

true

Encoding (エンコード)

String (文字列)

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

Reply To (返信先)

このメッセージへの応答を送信する宛先。

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

Object (オブジェクト)

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

JMSX Properties (JMSX プロパティ)

このメッセージに設定される JMSX プロパティ。

Persistent Delivery (永続的な配信)

Boolean (ブール)

配信を永続的な設定で行うかどうか。

Priority (優先度)

Number (数値)

メッセージを送信するときに使用するデフォルトの JMSPriority 値。

Time To Live (存続期間)

Number (数値)

メッセージが期限切れになって破棄されるまでブローカーに残るデフォルトの時間を定義します。

Time To Live Unit (存続期間単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Disable Message Id (メッセージ ID の無効化)

Boolean (ブール)

true の場合、MessageID を生成しないようにメッセージにフラグが付けられます。

Disable Message Timestamp (メッセージタイムスタンプの無効化)

Boolean (ブール)

true の場合、送信タイムスタンプを生成しないようにメッセージにフラグが付けられます。

Delivery Delay (配信遅延)

Number (数値)

JMS 2.0 でのみ使用。メッセージの配信を遅らせるための配信遅延時間を設定します。

Delivery Delay Unit (配信遅延単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

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

Send Correlation ID (送信相関 ID)

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

  • AUTO

  • ALWAYS

  • NEVER

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

Request Reply Pattern (要求応答パターン)

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

  • CORRELATION_ID​

  • MESSAGE_ID​

  • NONE

要求メッセージと応答メッセージの相関方法を示します。これにより、受信メッセージが送信メッセージの正しい応答であることが保証されます。

* CORRELATION_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージと同じ相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

* MESSAGE_ID​ パターン値は、​Publish Consume​ 操作で使用されます。この操作では、要求メッセージを宛先キューにパブリッシュした後に、要求メッセージのメッセージ ID と同じ値の相関 ID のメッセージを想定します。その後、その相関している応答メッセージをコンシュームします。

CORRELATION_ID

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

型

Any (任意)

Attributes Type (属性型)

### [](#次の設定の場合-4)次の設定の場合 - [設定](#config) ## [](#型)型 ### [](#Tls)TLS
項目 型 説明 デフォルト値 必須

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

String (文字列)

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

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

String (文字列)

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

Trust Store (トラストストア)

Key Store (キーストア)

Revocation Check (取り消し確認)

### [](#TrustStore)Trust Store (トラストストア)
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

トラストストアの場所。可能であれば、現在のクラスパスとファイルシステムに対して相対的に解決されます。

Password (パスワード)

String (文字列)

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

Type (型)

String (文字列)

使用するストアの型。

Algorithm (アルゴリズム)

String (文字列)

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

Insecure (安全ではない)

Boolean (ブール)

true の場合、証明書の検証が行われず、攻撃に対して接続が脆弱になります。各自の責任で使用してください。

### [](#KeyStore)Key Store (キーストア)
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

キーストアの場所。可能であれば、現在のクラスパスとファイルシステムに対して相対的に解決されます。

Type (型)

String (文字列)

使用するストアの型。

Alias (別名)

String (文字列)

キーストアに多数の非公開キーがある場合、この属性は、使用する鍵の別名を示します。定義しない場合、ファイルにある最初のキーがデフォルトで使用されます。

Key Password (キーパスワード)

String (文字列)

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

Password (パスワード)

String (文字列)

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

Algorithm (アルゴリズム)

String (文字列)

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

### [](#standard-revocation-check)Standard Revocation Check (標準の取り消し確認)
項目 型 説明 デフォルト値 必須

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

Boolean (ブール)

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

Prefer Crls (CRL を優先)

Boolean (ブール)

最初に OCSP ではなく CRL を試みます。

No Fallback (代替なし)

Boolean (ブール)

第 2 の確認方法 (以前に選択されていない方法) を使用しません。

Soft Fail (ソフトフェール)

Boolean (ブール)

取り消しサーバーに到達できない場合や取り消しサーバーが混雑している場合に検証エラーを回避します。

### [](#custom-ocsp-responder)Custom OCSP Responder (カスタム OCSP レスポンダー)
項目 型 説明 デフォルト値 必須

Url

String (文字列)

OCSP レスポンダーの URL。

Cert Alias (証明書の別名)

String (文字列)

(トラストストアに含まれている) OCSP 応答の署名証明書の別名 (存在する場合)。

### [](#crl-file)CRL File (CRL ファイル)
項目 型 説明 デフォルト値 必須

Path (パス)

String (文字列)

CRL ファイルへのパス。

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

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

Boolean (ブール)

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

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

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

Frequency (頻度)

Number (数値)

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

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

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

true

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

Frequency (頻度)

Number (数値)

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

blocking (ブロック)

Boolean (ブール)

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

true

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー)
項目 型 説明 デフォルト値 必須

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

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time Unit (時間単位)

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

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

maxIdleTime 属性の時間単位。

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

Properties (プロパティ)

Headers (ヘッダー)

Any (任意)

x

Ack Id

String (文字列)

### [](#JMS-Message-Properties)JMS メッセージのプロパティ
項目 型 説明 デフォルト値 必須

すべて

Any (任意)

x

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

Any (任意)

x

Jms Properties (JMS プロパティ)

Any (任意)

x

Jmsx Properties (JMSX プロパティ)

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

Jmsx User ID (JMSX ユーザー ID)

String (文字列)

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

String (文字列)

Jmsx Delivery Count (JMSX 配信数)

Number (数値)

Jmsx Group ID (JMSX グループ ID)

String (文字列)

Jmsx Group Seq (JMSX グループシーケンス)

Number (数値)

Jmsx Producer TXID (JMSX プロデューサー TXID)

String (文字列)

Jmsx Consumer TXID (JMSX コンシューマー TXID)

String (文字列)

Jmsx Rcv Timestamp (JMSX 受信タイムスタンプ)

Number (数値)

### [](#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 (オブジェクトストア)

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

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

### [](#MQJmsDestination)MQ JMS Destination (MQ JMS 宛先)
項目 型 説明 デフォルト値 必須

Destination (宛先)

String (文字列)

メッセージの送信先となる宛先の名前。

x

Destination Type (宛先種別)

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

  • QUEUE

  • TOPIC

この宛先の種別。

QUEUE

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

Jmsx User ID (JMSX ユーザー ID)

String (文字列)

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

String (文字列)

Jmsx Delivery Count (JMSX 配信数)

Number (数値)

Jmsx Group ID (JMSX グループ ID)

String (文字列)

Jmsx Group Seq (JMSX グループシーケンス)

Number (数値)

Jmsx Producer TXID (JMSX プロデューサー TXID)

String (文字列)

Jmsx Consumer TXID (JMSX コンシューマー TXID)

String (文字列)

Jmsx Rcv Timestamp (JMSX 受信タイムスタンプ)

Number (数値)

### [](#topic-consumer)Topic Consumer (トピックコンシューマー)
項目 型 説明 デフォルト値 必須

Durable (永続的)

Boolean (ブール)

false

Shared (共有)

Boolean (ブール)

false

No Local (非ローカル)

Boolean (ブール)

false

Subscription Name (サブスクリプション名)

String (文字列)

### [](#binding)Binding (バインディング)
項目 型 説明 デフォルト値 必須

Queue Manager (キューマネージャー)

String (文字列)

キューマネージャー名。

### [](#client)Client (クライアント)
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

IBM MQ ブローカーが存在するホスト。

x

Port (ポート)

Number (数値)

キューマネージャーのリスナーポート。

1414

Queue Manager (キューマネージャー)

String (文字列)

チャネル定義の選択時に使用するキューマネージャー。

Channel (チャネル)

String (文字列)

接続先のチャネル名。

Connection Name List (接続名リスト)

String (文字列)

接続が失われたときにクライアントが再接続を試みるホスト。接続名リストでは、ホストと IP ポートのペアをカンマで区切って指定します。

### [](#default-caching)Default Caching (デフォルトキャッシュ)
項目 型 説明 デフォルト値 必須

Session Cache Size (セッションキャッシュサイズ)

Number (数値)

セッションキャッシュのサイズ。

Cache Producers (キャッシュプロデューサー)

Boolean (ブール)

プロデューサーをキャッシュするかどうかを示します。

true

Cache Consumers (キャッシュコンシューマー)

Boolean (ブール)

コンシューマーをキャッシュするかどうかを示します。

true

## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # IBM MQ でのトランザクション処理 IBM MQ のトランザクション接続を使用すると、一連の操作をトランザクションがコミットされたときにまとめて実行するように設定できます。主な 2 つのシナリオは次のとおりです。 - トランザクションの一環でメッセージをパブリッシュする: パブリッシュすると、メッセージはトランザクションがコミットされた後で宛先に送信されます。 何らかの理由でトランザクションが失敗してロールバックが発生すると、メッセージは送信されません。 - トランザクションの一環でメッセージをコンシュームする: リスナーまたはコンシューマーによってコンシュームされたメッセージは、トランザクションがコミットされてはじめて肯定応答され、トランザクションがロールバックされた場合は、再配信のために宛先に戻されます。 IBM MQ Connector は、Mule の transactionalAction 設定を使用して、トランザクションとしての操作の実行をサポートしています。 操作をトランザクションの一部として実行するには、次の 2 つのオプションがあります。 ## [](#新規メッセージのトランザクションセッションでの処理)新規メッセージのトランザクションセッションでの処理 IBM MQ の ​`On New Message`​ リスナーでトランザクションセッションを使用してメッセージをディスパッチしたい場合は、transactionalAction を ​ALWAYS\_BEGIN​ に設定します。 ```xml ``` この設定により、それぞれの新規メッセージはトランザクションで処理され、このトランザクションはすべてのフローのコンポーネントに伝播されて、フローの実行が正常に完了した時点でコミットされます。 フローがエラーで完了した場合は、トランザクションはロールバックされます。 **注意:**​ デフォルトでは、フローの他のコンポーネントは、リスナーが作成したトランザクションには加わりません。他の操作をリスナーのトランザクションで実行するには、​ALWAYS\_JOIN​ または ​JOIN\_IF\_POSSIBLE​ でそれらを宣言する必要があります。 ## [](#トランザクションの一部としての操作の実行)トランザクションの一部としての操作の実行 パブリッシュやコンシュームなどの操作をトランザクションの一環として実行するには、transactionalAction を ​ALWAYS\_JOIN​ または ​JOIN\_IF\_POSSIBLE​ に設定します。 このように設定した操作は、リスナーが開始するトランザクションの一部となります。 ```xml ``` スコープ付きトランザクションの一部として実行する場合は次のように設定します。 ```xml ``` ## [](#xa-トランザクション)XA トランザクション IBM MQ Connector では、XA トランザクションの作成と結合をサポートしており、複数リソースのトランザクションに関与することができます。これにより、IBM MQ の他の接続や、Database Connector や VM Connector などの接続を使用してトランザクションのアクションを実行することもできます。
IBM MQ Connector では、IBM MQ ドライバーの制限により、ネストされた XA トランザクションはサポートされません。ネストされたトランザクションを操作すると、外側のトランザクションが停止され、内側のトランザクションが終了した後に再開されます。このエラーが発生するのは、ドライバーの実装が原因で、外側のトランザクションが再開された場合です。
XA トランザクションを有効にするには: 1. `enableXa`​ を true に設定して、XA 対応接続を作成します。 ```xml ``` 2. transactionType を XA に設定して、XA トランザクションを作成するように設定します。 ```xml ``` スコープ付きトランザクションの一部として実行する場合は次のように設定します。 ```xml ``` # IBM MQ でのトランザクション処理 IBM MQ のトランザクション接続を使用すると、一連の操作をトランザクションがコミットされたときにまとめて実行するように設定できます。主な 2 つのシナリオは次のとおりです。 - トランザクションの一環でメッセージをパブリッシュする: パブリッシュすると、メッセージはトランザクションがコミットされた後で宛先に送信されます。 何らかの理由でトランザクションが失敗してロールバックが発生すると、メッセージは送信されません。 - トランザクションの一環でメッセージをコンシュームする: リスナーまたはコンシューマーによってコンシュームされたメッセージは、トランザクションがコミットされてはじめて肯定応答され、トランザクションがロールバックされた場合は、再配信のために宛先に戻されます。 IBM MQ Connector は、Mule の transactionalAction 設定を使用して、トランザクションとしての操作の実行をサポートしています。 操作をトランザクションの一部として実行するには、次の 2 つのオプションがあります。 ## [](#新規メッセージのトランザクションセッションでの処理)新規メッセージのトランザクションセッションでの処理 IBM MQ の ​`On New Message`​ リスナーでトランザクションセッションを使用してメッセージをディスパッチしたい場合は、transactionalAction を ​ALWAYS\_BEGIN​ に設定します。 ```xml ``` この設定により、それぞれの新規メッセージはトランザクションで処理され、このトランザクションはすべてのフローのコンポーネントに伝播されて、フローの実行が正常に完了した時点でコミットされます。 フローがエラーで完了した場合は、トランザクションはロールバックされます。 **注意:**​ デフォルトでは、フローの他のコンポーネントは、リスナーが作成したトランザクションには加わりません。他の操作をリスナーのトランザクションで実行するには、​ALWAYS\_JOIN​ または ​JOIN\_IF\_POSSIBLE​ でそれらを宣言する必要があります。 ## [](#トランザクションの一部としての操作の実行)トランザクションの一部としての操作の実行 パブリッシュやコンシュームなどの操作をトランザクションの一環として実行するには、transactionalAction を ​ALWAYS\_JOIN​ または ​JOIN\_IF\_POSSIBLE​ に設定します。 このように設定した操作は、リスナーが開始するトランザクションの一部となります。 ```xml ``` スコープ付きトランザクションの一部として実行する場合は次のように設定します。 ```xml ``` ## [](#xa-トランザクション)XA トランザクション IBM MQ Connector では、XA トランザクションの作成と結合をサポートしており、複数リソースのトランザクションに関与することができます。これにより、IBM MQ の他の接続や、Database Connector や VM Connector などの接続を使用してトランザクションのアクションを実行することもできます。
IBM MQ Connector では、IBM MQ ドライバーの制限により、ネストされた XA トランザクションはサポートされません。ネストされたトランザクションを操作すると、外側のトランザクションが停止され、内側のトランザクションが終了した後に再開されます。このエラーが発生するのは、ドライバーの実装が原因で、外側のトランザクションが再開された場合です。
XA トランザクションを有効にするには: 1. `enableXa`​ を true に設定して、XA 対応接続を作成します。 ```xml ``` 2. transactionType を XA に設定して、XA トランザクションを作成するように設定します。 ```xml ``` スコープ付きトランザクションの一部として実行する場合は次のように設定します。 ```xml ``` # IBM MQ のパフォーマンス調整 多くのメッセージを処理する場合、パフォーマンスは重要な要因となります。そのため、IBM MQ Connector のパフォーマンスを最大限に引き出せるように、次の設定を確認してください。 ## [](#接続の再利用を無効化しないこと)接続の再利用を無効化しないこと 接続の確立には多くのリソースが使用されるため、接続はできる限り再利用するようにしてください。 **注意:** - デフォルトでは、IBM MQ Connector はアグレッシブな ​`caching-strategy`​ を使用します。この戦略では、可能な限り多くのコンシューマーとプロデューサーを再利用します。この設定を少しでも変更すると、アプリケーションのパフォーマンスが低下するおそれがあるため、この設定には触れないことをお勧めします。 - 接続キャッシュを無効化すると、アプリケーションのパフォーマンスが低下します。 ## [](#同時メッセージ処理数の増大)同時メッセージ処理数の増大 アプリケーションのパフォーマンスを高めるための良い手段として、同じ宛先からメッセージを同時に受信するコンシューマー数を増やすという方法があります。 IBM MQ Connector では、​`numberOfConsumers`​ パラメーターの設定によって簡単に行うことができます。 `listener`​ は、デフォルトでは同じ宛先に対して 4 つのコンシューマーを使用しますが、実際のニーズに合わせてこの数を増やすことができます。 ```xml ```
numberOfConsumers​ を増やすことが、リスナーのスループットを改善するための最も簡単な方法です。
## [](#クラスター設定の最適化)クラスター設定の最適化 クラスターで動作するアプリケーションの場合は、​**プライマリノード**​の概念と、コネクタの動作に注目してください。クラスターで動作する場合、IBM MQ ​`listener`​ のデフォルト設定では、どのような種類の宛先からメッセージをコンシュームする場合でも、プライマリノードでのみメッセージを受信します。 キューからメッセージをコンシュームする場合は、この設定を変更して、プライマリノードだけではなく、クラスター内のすべてのノードからメッセージを受信するようにしてください。 これは ​`primaryNodeOnly`​ パラメーターで行います。 ```xml ``` トピックからメッセージをコンシュームする場合は少し異なり、プライマリノードのみからメッセージを受信するというデフォルト動作は最も一般的なユースケースであるため、これによってクラスター内で同じメッセージが複数回処理されてしまうことを防止できます。 JMS 2.0 共有サブスクリプションメカニズムを使用していて、すべてのノードからメッセージをコンシュームするようにクラスター設定を変更したい場合も、同じように ​`primaryNodeOnly`​ を ​`false`​ に設定します。 ```xml ```
クラスターのキューからリスンする場合は、​primaryNodeOnly​ 設定を ​false​ に変更します。
クラスターのトピックからリスンする場合は、共有サブスクリプションを使用しない限り、​primaryNodeOnly​ 設定を使用しないとクラスターが同じメッセージを複数回処理することになります。
## [](#関連情報)関連情報 - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-consume) - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription) # IBM MQ のパフォーマンス調整 多くのメッセージを処理する場合、パフォーマンスは重要な要因となります。そのため、IBM MQ Connector のパフォーマンスを最大限に引き出せるように、次の設定を確認してください。 ## [](#接続の再利用を無効化しないこと)接続の再利用を無効化しないこと 接続の確立には多くのリソースが使用されるため、接続はできる限り再利用するようにしてください。 **注意:** - デフォルトでは、IBM MQ Connector はアグレッシブな ​`caching-strategy`​ を使用します。この戦略では、可能な限り多くのコンシューマーとプロデューサーを再利用します。この設定を少しでも変更すると、アプリケーションのパフォーマンスが低下するおそれがあるため、この設定には触れないことをお勧めします。 - 接続キャッシュを無効化すると、アプリケーションのパフォーマンスが低下します。 ## [](#同時メッセージ処理数の増大)同時メッセージ処理数の増大 アプリケーションのパフォーマンスを高めるための良い手段として、同じ宛先からメッセージを同時に受信するコンシューマー数を増やすという方法があります。 IBM MQ Connector では、​`numberOfConsumers`​ パラメーターの設定によって簡単に行うことができます。 `listener`​ は、デフォルトでは同じ宛先に対して 4 つのコンシューマーを使用しますが、実際のニーズに合わせてこの数を増やすことができます。 ```xml ```
numberOfConsumers​ を増やすことが、リスナーのスループットを改善するための最も簡単な方法です。
## [](#クラスター設定の最適化)クラスター設定の最適化 クラスターで動作するアプリケーションの場合は、​**プライマリノード**​の概念と、コネクタの動作に注目してください。クラスターで動作する場合、IBM MQ ​`listener`​ のデフォルト設定では、どのような種類の宛先からメッセージをコンシュームする場合でも、プライマリノードでのみメッセージを受信します。 キューからメッセージをコンシュームする場合は、この設定を変更して、プライマリノードだけではなく、クラスター内のすべてのノードからメッセージを受信するようにしてください。 これは ​`primaryNodeOnly`​ パラメーターで行います。 ```xml ``` トピックからメッセージをコンシュームする場合は少し異なり、プライマリノードのみからメッセージを受信するというデフォルト動作は最も一般的なユースケースであるため、これによってクラスター内で同じメッセージが複数回処理されてしまうことを防止できます。 JMS 2.0 共有サブスクリプションメカニズムを使用していて、すべてのノードからメッセージをコンシュームするようにクラスター設定を変更したい場合も、同じように ​`primaryNodeOnly`​ を ​`false`​ に設定します。 ```xml ```
クラスターのキューからリスンする場合は、​primaryNodeOnly​ 設定を ​false​ に変更します。
クラスターのトピックからリスンする場合は、共有サブスクリプションを使用しない限り、​primaryNodeOnly​ 設定を使用しないとクラスターが同じメッセージを複数回処理することになります。
## [](#関連情報)関連情報 - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-consume) - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription) # IBM MQ メッセージのコンシューム方法 IBM MQ Connector の Consume 操作では、フローにおける特定の時間に、特定の宛先からのメッセージをコンシュームできます。 ## [](#メッセージのコンシューム)メッセージのコンシューム キューからメッセージをコンシュームするための構文は次のとおりです。 ```xml ``` 上の操作では、宛先によって識別されるキューにある最初のメッセージをコンシュームしてから、次の構造の Mule メッセージに変換します。 - ペイロードとしてのメッセージのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージの肯定応答については、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-ack)​を参照してください。 ## [](#メッセージの待機)メッセージの待機 デフォルトの最大待機時間は 10 秒に設定されており、その間にメッセージが受信できなければ ​`IBM-MQ:TIMEOUT`​ エラーが発生します。 実際の状況に合わせてタイムアウトを適切に設定するには、​`maximumWait`​ パラメーターと ​`maximumWaitUnit`​ パラメーターをカスタマイズします。 メッセージの到着を無期限に待機するには、​`maximumWait`​ 値を ​`-1`​ に設定する必要があります。この場合は TIMEOUT エラーは発生しません。 ## [](#受信メッセージの絞り込み)受信メッセージの絞り込み IBM MQ Connector は、標準の ​**JMS セレクター言語**​に基づいた、コンシュームするメッセージの絞り込みを完全にサポートします。 たとえば、他のメッセージよりも先に処理する必要のあるメッセージが登録される優先キューがある場合は、次のように絞り込みを行うことができます。 ```xml ``` セレクターを設定すると、一致するメッセージのみが受信され、宛先にある他のメッセージはすべて無視されます。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード IBM MQ Connector は、MM\_MESSAGE\_CONTENT\_TYPE プロパティに基づいて、できる限り正確にメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。しかしながら、最良の判断が間違っていることもあり、その場合は、メッセージのコンテンツに関する情報を提供する必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule ランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。
この MIME タイプの伝播は、IBM MQ 対象クライアントが ​JMS_COMPLIANT​ として選択されている場合にのみ機能します。
## [](#トピックサブスクリプションを使用したメッセージのコンシューム)トピックサブスクリプションを使用したメッセージのコンシューム トピックの宛先からのメッセージのコンシュームは、キューからのコンシュームと非常によく似ていますが、トピックサブスクリプションを使用してコンシューマー間で状態を共有できるという追加の機能があります。 トピックからメッセージをコンシュームするための構文は次の通りです。 ```xml ``` コンシューム操作のパラメーターは同じですが、​`topic-consumer`​ パラメーターでサブスクリプション設定を定義できます。 トピックサブスクリプションの設定方法についての詳細は、​[「トピックサブスクリプションの使用」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription)​を参照してください。 ## [](#受信メッセージのメタデータ)受信メッセージのメタデータ 受信する各メッセージは 2 つの部分から構成されます。 - ペイロード: メッセージのコンテンツ。 - 属性: メッセージに関するメタデータ。 このメタデータは、3 つの部分から構成され、すべて JMS メッセージで使用できる情報にマップされます。 - AckId - ヘッダー - Properties (プロパティ) 属性の構造については、​[「JMS リファレンス」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-xml-ref)​を参照してください。 ## [](#関連情報)関連情報 - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription) - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-listener) # IBM MQ メッセージのコンシューム方法 IBM MQ Connector の Consume 操作では、フローにおける特定の時間に、特定の宛先からのメッセージをコンシュームできます。 ## [](#メッセージのコンシューム)メッセージのコンシューム キューからメッセージをコンシュームするための構文は次のとおりです。 ```xml ``` 上の操作では、宛先によって識別されるキューにある最初のメッセージをコンシュームしてから、次の構造の Mule メッセージに変換します。 - ペイロードとしてのメッセージのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージの肯定応答については、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-ack)​を参照してください。 ## [](#メッセージの待機)メッセージの待機 デフォルトの最大待機時間は 10 秒に設定されており、その間にメッセージが受信できなければ ​`IBM-MQ:TIMEOUT`​ エラーが発生します。 実際の状況に合わせてタイムアウトを適切に設定するには、​`maximumWait`​ パラメーターと ​`maximumWaitUnit`​ パラメーターをカスタマイズします。 メッセージの到着を無期限に待機するには、​`maximumWait`​ 値を ​`-1`​ に設定する必要があります。この場合は TIMEOUT エラーは発生しません。 ## [](#受信メッセージの絞り込み)受信メッセージの絞り込み IBM MQ Connector は、標準の ​**JMS セレクター言語**​に基づいた、コンシュームするメッセージの絞り込みを完全にサポートします。 たとえば、他のメッセージよりも先に処理する必要のあるメッセージが登録される優先キューがある場合は、次のように絞り込みを行うことができます。 ```xml ``` セレクターを設定すると、一致するメッセージのみが受信され、宛先にある他のメッセージはすべて無視されます。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード IBM MQ Connector は、MM\_MESSAGE\_CONTENT\_TYPE プロパティに基づいて、できる限り正確にメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。しかしながら、最良の判断が間違っていることもあり、その場合は、メッセージのコンテンツに関する情報を提供する必要があります。 このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule ランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。
この MIME タイプの伝播は、IBM MQ 対象クライアントが ​JMS_COMPLIANT​ として選択されている場合にのみ機能します。
## [](#トピックサブスクリプションを使用したメッセージのコンシューム)トピックサブスクリプションを使用したメッセージのコンシューム トピックの宛先からのメッセージのコンシュームは、キューからのコンシュームと非常によく似ていますが、トピックサブスクリプションを使用してコンシューマー間で状態を共有できるという追加の機能があります。 トピックからメッセージをコンシュームするための構文は次の通りです。 ```xml ``` コンシューム操作のパラメーターは同じですが、​`topic-consumer`​ パラメーターでサブスクリプション設定を定義できます。 トピックサブスクリプションの設定方法についての詳細は、​[「トピックサブスクリプションの使用」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription)​を参照してください。 ## [](#受信メッセージのメタデータ)受信メッセージのメタデータ 受信する各メッセージは 2 つの部分から構成されます。 - ペイロード: メッセージのコンテンツ。 - 属性: メッセージに関するメタデータ。 このメタデータは、3 つの部分から構成され、すべて JMS メッセージで使用できる情報にマップされます。 - AckId - ヘッダー - プロパティ 属性の構造については、​[「JMS リファレンス」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-xml-ref)​を参照してください。 ## [](#関連情報)関連情報 - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription) - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-listener) # トピックサブスクリプションの使用 IBM MQ のトピックを使用すると、コンシューマーの接続に関するサブスクリプションの動作と、コンシューマー間の相互動作を設定できます。 IBM MQ Connector では、​`consumer`​ 操作と ​`listener`​ 操作の両方で ​`topic-consumer`​ 設定を使用して、トピックサブスクリプションのいろいろな側面を処理できます。 ## [](#永続的サブスクリプションの登録)永続的サブスクリプションの登録 永続的サブスクリプションでは、コンシューマーがオフラインのときにトピックにパブリッシュされたメッセージも受信できます。 永続的サブスクリプションが登録されると、コンシューマーがオンラインになるたびに、接続の確立前にパブリッシュされていたすべてのメッセージを受信します。 ```xml ``` IBM MQ は、キューに送信されたメッセージと同じように、トピックに対してパブリッシュされたメッセージを格納します。このアプリケーションまたは別のアプリケーションによって同じ接続およびそのクライアント ID、同じトピック、同じサブスクリプション名を使用して ​`topic-consumer`​ が作成された場合、そのサブスクリプションは再アクティブ化され、IBM MQ はサブスクライバーが非アクティブだった期間中にパブリッシュされたメッセージを配信します。 ## [](#同じサブスクリプションでの複数のコンシューマーの許可)同じサブスクリプションでの複数のコンシューマーの許可 JMS 1.1 では、トピックのサブスクリプションで同時に複数のコンシューマーを有効にすることができなかったため、トピックサブスクリプションのメッセージ処理を共有できず、アプリケーションの拡張性を制限する要因となっていました。 JMS 2.0 では、​**共有サブスクリプション**​の導入によって、この制限を撤廃しています。 IBM MQ Connector を ​**JMS 2.0 接続で設定**​すると、任意の ​`topic-consumer`​ を ​`shared`​ サブスクリプションの一部として宣言できます。 ```xml ``` この 2 つの異なる ​`listener`​ インスタンスに対する設定により、メッセージがインボイス宛先にパブリッシュされると、2 つのリスナーのどちらかにのみ配信され、他方には配信されません。 ## [](#自己パブリッシュメッセージの無視方法)自己パブリッシュメッセージの無視方法 アプリケーションがトピックにパブリッシュしたメッセージを、同じアプリケーションが受信しないようにしたいケースがあります。この場合は、​`topic-consumer`​ で ​`noLocal`​ パラメーターを使用することにより、コンシューマーが​**同じ接続経由で**​トピックにパブリッシュされたメッセージを受信しなくなります。 ```xml ``` `noLocal`​ として設定されているコンシューマーを ​`shared`​ サブスクリプションの一部に加えることは​**できません**​。 ## [](#関連情報)関連情報 - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-listener) - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-consume) # トピックサブスクリプションの使用 IBM MQ のトピックを使用すると、コンシューマーの接続に関するサブスクリプションの動作と、コンシューマー間の相互動作を設定できます。 IBM MQ Connector では、​`consumer`​ 操作と ​`listener`​ 操作の両方で ​`topic-consumer`​ 設定を使用して、トピックサブスクリプションのいろいろな側面を処理できます。 ## [](#永続的サブスクリプションの登録)永続的サブスクリプションの登録 永続的サブスクリプションでは、コンシューマーがオフラインのときにトピックにパブリッシュされたメッセージも受信できます。 永続的サブスクリプションが登録されると、コンシューマーがオンラインになるたびに、接続の確立前にパブリッシュされていたすべてのメッセージを受信します。 ```xml ``` IBM MQ は、キューに送信されたメッセージと同じように、トピックに対してパブリッシュされたメッセージを格納します。このアプリケーションまたは別のアプリケーションによって同じ接続およびそのクライアント ID、同じトピック、同じサブスクリプション名を使用して ​`topic-consumer`​ が作成された場合、そのサブスクリプションは再アクティブ化され、IBM MQ はサブスクライバーが非アクティブだった期間中にパブリッシュされたメッセージを配信します。 ## [](#同じサブスクリプションでの複数のコンシューマーの許可)同じサブスクリプションでの複数のコンシューマーの許可 JMS 1.1 では、トピックのサブスクリプションで同時に複数のコンシューマーを有効にすることができなかったため、トピックサブスクリプションのメッセージ処理を共有できず、アプリケーションの拡張性を制限する要因となっていました。 JMS 2.0 では、​**共有サブスクリプション**​の導入によって、この制限を撤廃しています。 IBM MQ Connector を ​**JMS 2.0 接続で設定**​すると、任意の ​`topic-consumer`​ を ​`shared`​ サブスクリプションの一部として宣言できます。 ```xml ``` この 2 つの異なる ​`listener`​ インスタンスに対する設定により、メッセージがインボイス宛先にパブリッシュされると、2 つのリスナーのどちらかにのみ配信され、他方には配信されません。 ## [](#自己パブリッシュメッセージの無視方法)自己パブリッシュメッセージの無視方法 アプリケーションがトピックにパブリッシュしたメッセージを、同じアプリケーションが受信しないようにしたいケースがあります。この場合は、​`topic-consumer`​ で ​`noLocal`​ パラメーターを使用することにより、コンシューマーが​**同じ接続経由で**​トピックにパブリッシュされたメッセージを受信しなくなります。 ```xml ``` `noLocal`​ として設定されているコンシューマーを ​`shared`​ サブスクリプションの一部に加えることは​**できません**​。 ## [](#関連情報)関連情報 - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-listener) - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-consume) # メッセージのパブリッシュ方法 この操作では、新しい JMS メッセージを作成して、指定した宛先 (キューまたはトピック) に送信できます。メッセージのコンテンツだけではなく、必要なヘッダーもすべて設定できます。 ## [](#キューへのメッセージの送信)キューへのメッセージの送信 デフォルトでは、コネクタはペイロードに含まれるすべてのコンテンツをパブリッシュします。 ```xml ``` ペイロードの形式が正しくなく、変換が必要な場合はどうすればよいでしょうか。この場合は、​`publish`​ 操作の前に DataWeave トランスフォーマーを配置できますが、メッセージのペイロードが変更されるため、​`publish`​ に続く操作に影響が出ることがあります。 この不要な影響を回避するには、​`publish`​ 操作の内部にトランスフォーマーを配置します。 ```xml #[%dw 2.0 output application/json --- payload.payments ] ``` これで、トランスフォーマーによってパブリッシュされるコンテンツが生成される一方で、送信中のメッセージに対する副作用は発生しません。 ## [](#トピックへのメッセージのパブリッシュ)トピックへのメッセージのパブリッシュ `publish`​ 操作は、特定のトピックにメッセージをパブリッシュするためにも使用できます。 操作とメッセージの設定はすべて同じですが、​`destinationType`​ パラメーターで宛先を ​`TOPIC`​ として宣言する必要があります。 上記と同じ例で、メッセージをキューに送信するのではなくトピックにパブリッシュするには、次のように定義します。 ```xml #[%dw 2.0 output application/json --- payload.payments ] ``` ## [](#メッセージ配信のカスタマイズ)メッセージ配信のカスタマイズ 各 JMS メッセージにはヘッダーがあり、メッセージの存続期間や優先度などのメタデータを渡すことができます。パブリッシュされるメッセージに関するメタデータは、​`publish`​ 操作のパラメーターで設定できます。 ### [](#優先キューの実装)優先キューの実装 優先キューを実装するには、一部のメッセージに対して、デフォルト以外の優先度を割り当てる必要があります。これは、操作で ​`priority`​ パラメーターを使用して行います。 ```xml ``` ### [](#メッセージの存続期間の制御方法)メッセージの存続期間の制御方法 パブリッシュされるすべての JMS メッセージには、メッセージがコンシューム可能な状態を維持する存続期間を宣言した timeToLive ヘッダーがあり、この期間が過ぎるとメッセージは削除されます。​`publish`​ 操作の ​`timeToLive`​ パラメーターおよび ​`timeToLiveUnit`​ パラメーターにより、パブリッシュされる各メッセージの JMS ヘッダーの値を設定できます。 ```xml ``` JMS 2.0 を使用している場合は、メッセージの ​`deliveryDelay`​ を設定することで、メッセージがコンシューマーに公開されるまでの待ち時間を設定できます。 ```xml ``` ## [](#応答宛先の宣言)応答宛先の宣言 送信するメッセージに対する非同期の応答が必要な場合は、JMS の ​`publish`​ 操作で任意の ​`reply-to`​ 宛先を宣言できます。 この宛先は、JMS ヘッダーでメッセージのコンシューマーに渡され、応答の送信先となります。 `reply-to`​ 宛先を宣言するには、次のようにメッセージの定義に追加します。 ```xml ``` ## [](#相関-id-の伝播)相関 ID の伝播 `publish`​ 操作では、送信メッセージの ​`correlationId`​ を設定できます。 最初に、​`sendCorrelationId`​ パラメーターを使用してメッセージをパブリッシュするときに ​`correlationId`​ を送信するかどうかを設定する必要があります。 このパラメーターは、​`ALWAYS`​ (常にヘッダーを送信する)、​`NEVER`​ (ヘッダーを送信しない)、または ​`AUTO`​ (デフォルト、アプリケーション設定を使用する) に設定できます。 次に、メッセージを送信するイベントの ​`correlationId`​ を使用するか、またはメッセージビルダーでカスタム ​`correlationId`​ を設定できます。 ```xml ``` ## [](#メッセージプロパティの設定)メッセージプロパティの設定 すべての JMS メッセージではプロパティを設定できます。プロパティには、他のメッセージングシステムとの互換性を指定したり、カスタムメッセージセレクターを作成したりと、いろいろな使い道があります。 プロパティの一部はよく知られた JMS 標準プロパティですが、その他にも実装やカスタムユーザー設定に依存するプロパティがあります。​`publish`​ 操作では、これらのプロパティをすべてメッセージ内で直接設定できます。 ### [](#ユーザープロパティの設定)ユーザープロパティの設定 送信メッセージのプロパティを設定するのに必要な作業は、メッセージ内で ​`properties`​ 要素を使用して、DataWeave でマップのインライン宣言を行うだけです。 ```xml #["bridged_" ++ payload] #[{ AUTH_TYPE: 'jwt' AUTH_TOKEN: attributes.queryParams.token }] ``` ### [](#jmsx-プロパティの設定)JMSX プロパティの設定 JMSX プロパティは、JMS 仕様で定義されているよく知られたプロパティセットで、メッセージに関するメタデータを指定します。これらのプロパティを設定するには、メッセージ要素の一部としてインラインで宣言します。 ```xml #["bridged_" ++ payload] ``` ## [](#関連情報)関連情報 [応答のリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish-consume) # メッセージのパブリッシュ方法 この操作では、新しい JMS メッセージを作成して、指定した宛先 (キューまたはトピック) に送信できます。メッセージのコンテンツだけではなく、必要なヘッダーもすべて設定できます。 ## [](#キューへのメッセージの送信)キューへのメッセージの送信 デフォルトでは、コネクタはペイロードに含まれるすべてのコンテンツをパブリッシュします。 ```xml ``` ペイロードの形式が正しくなく、変換が必要な場合はどうすればよいでしょうか。この場合は、​`publish`​ 操作の前に DataWeave トランスフォーマーを配置できますが、メッセージのペイロードが変更されるため、​`publish`​ に続く操作に影響が出ることがあります。 この不要な影響を回避するには、​`publish`​ 操作の内部にトランスフォーマーを配置します。 ```xml #[%dw 2.0 output application/json --- payload.payments ] ``` これで、トランスフォーマーによってパブリッシュされるコンテンツが生成される一方で、送信中のメッセージに対する副作用は発生しません。 ## [](#トピックへのメッセージのパブリッシュ)トピックへのメッセージのパブリッシュ `publish`​ 操作は、特定のトピックにメッセージをパブリッシュするためにも使用できます。 操作とメッセージの設定はすべて同じですが、​`destinationType`​ パラメーターで宛先を ​`TOPIC`​ として宣言する必要があります。 上記と同じ例で、メッセージをキューに送信するのではなくトピックにパブリッシュするには、次のように定義します。 ```xml #[%dw 2.0 output application/json --- payload.payments ] ``` ## [](#メッセージ配信のカスタマイズ)メッセージ配信のカスタマイズ 各 JMS メッセージにはヘッダーがあり、メッセージの存続期間や優先度などのメタデータを渡すことができます。パブリッシュされるメッセージに関するメタデータは、​`publish`​ 操作のパラメーターで設定できます。 ### [](#優先キューの実装)優先キューの実装 優先キューを実装するには、一部のメッセージに対して、デフォルト以外の優先度を割り当てる必要があります。これは、操作で ​`priority`​ パラメーターを使用して行います。 ```xml ``` ### [](#メッセージの存続期間の制御方法)メッセージの存続期間の制御方法 パブリッシュされるすべての JMS メッセージには、メッセージがコンシューム可能な状態を維持する存続期間を宣言した timeToLive ヘッダーがあり、この期間が過ぎるとメッセージは削除されます。​`publish`​ 操作の ​`timeToLive`​ パラメーターおよび ​`timeToLiveUnit`​ パラメーターにより、パブリッシュされる各メッセージの JMS ヘッダーの値を設定できます。 ```xml ``` JMS 2.0 を使用している場合は、メッセージの ​`deliveryDelay`​ を設定することで、メッセージがコンシューマーに公開されるまでの待ち時間を設定できます。 ```xml ``` ## [](#応答宛先の宣言)応答宛先の宣言 送信するメッセージに対する非同期の応答が必要な場合は、JMS の ​`publish`​ 操作で任意の ​`reply-to`​ 宛先を宣言できます。 この宛先は、JMS ヘッダーでメッセージのコンシューマーに渡され、応答の送信先となります。 `reply-to`​ 宛先を宣言するには、次のようにメッセージの定義に追加します。 ```xml ``` ## [](#相関-id-の伝播)相関 ID の伝播 `publish`​ 操作では、送信メッセージの ​`correlationId`​ を設定できます。 最初に、​`sendCorrelationId`​ パラメーターを使用してメッセージをパブリッシュするときに ​`correlationId`​ を送信するかどうかを設定する必要があります。 このパラメーターは、​`ALWAYS`​ (常にヘッダーを送信する)、​`NEVER`​ (ヘッダーを送信しない)、または ​`AUTO`​ (デフォルト、アプリケーション設定を使用する) に設定できます。 次に、メッセージを送信するイベントの ​`correlationId`​ を使用するか、またはメッセージビルダーでカスタム ​`correlationId`​ を設定できます。 ```xml ``` ## [](#メッセージプロパティの設定)メッセージプロパティの設定 すべての JMS メッセージではプロパティを設定できます。プロパティには、他のメッセージングシステムとの互換性を指定したり、カスタムメッセージセレクターを作成したりと、いろいろな使い道があります。 プロパティの一部はよく知られた JMS 標準プロパティですが、その他にも実装やカスタムユーザー設定に依存するプロパティがあります。​`publish`​ 操作では、これらのプロパティをすべてメッセージ内で直接設定できます。 ### [](#ユーザープロパティの設定)ユーザープロパティの設定 送信メッセージのプロパティを設定するのに必要な作業は、メッセージ内で ​`properties`​ 要素を使用して、DataWeave でマップのインライン宣言を行うだけです。 ```xml #["bridged_" ++ payload] #[{ AUTH_TYPE: 'jwt' AUTH_TOKEN: attributes.queryParams.token }] ``` ### [](#jmsx-プロパティの設定)JMSX プロパティの設定 JMSX プロパティは、JMS 仕様で定義されているよく知られたプロパティセットで、メッセージに関するメタデータを指定します。これらのプロパティを設定するには、メッセージ要素の一部としてインラインで宣言します。 ```xml #["bridged_" ++ payload] ``` ## [](#関連情報)関連情報 [応答のリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish-consume) # メッセージ肯定応答の処理 JMS Connector には、いくつかの異なる肯定応答設定があります。 ## [](#成功時の自動肯定応答)成功時の自動肯定応答 `AUTO ackMode`​ を ​`ibm-mq:listener`​ コンポーネントで使用することにより、フローの実行が正常に完了した場合に​**限って**​、受信したメッセージが自動的に肯定応答されます。 フロー実行中にエラーが発生して早期に終了した場合、メッセージは肯定応答されず、再配信が行われます。 `AUTO`​ と似たもう一つの ​`ackMode`​ に ​`DUPS_OK`​ があります。​`DUPS_OK`​ を使用すると、フロー実行が正常に完了した時点で自動的にメッセージが肯定応答されますが、処理がゆっくり行われるため、肯定応答を待たずにメッセージが再配信されてしまい、重複が発生する可能性があります。 ## [](#即時の肯定応答)即時の肯定応答 `ibm-mq:listener`​ または ​`ibm-mq:consume`​ のいずれかの操作で ​`ackMode`​ を ​`IMMEDIATE`​ に設定すると、メッセージがコンシュームされたらすぐに、アプリケーションによってメッセージの処理が行われる前に自動的に肯定応答されます。 メッセージの受信後に自動的に肯定応答すると、メッセージの処理中にエラーが発生してもメッセージが再配信されないため、デッドレターキューのようなアプリケーションロジックを作成して、メッセージを失わずにエラーを処理する必要があります。 ## [](#手動肯定応答)手動肯定応答 ご推察の通り、​`MANUAL` ​`ackMode`​ は、メッセージの肯定応答の責任をすべてアプリケーションロジックに委ねます。 この設定を使用すると、​`listener`​ または ​`consume`​ のいずれかの操作で受信したすべてのメッセージでは Mule メッセージ ​`attributes`​ に ​`ackId`​ が含まれています。メッセージはそれによって特定の接続で一意に識別されます。 メッセージを識別する ​`ackId`​ は ​`ibm-mq:ack`​ 操作に渡されます。 ```xml ``` ### [](#手動セッションリカバリー)手動セッションリカバリー `MANUAL ackMode`​ を使用した場合、ブローカーは、受信されていても肯定応答されていないすべてのメッセージを再配信しません。 メッセージの処理中にエラーが発生して肯定応答ができない場合は、ユーザーが ​`recover-session`​ 操作を使用して、再配信する必要のあるセッション中のすべてのメッセージを手動でリカバリーする責任を負います。 ```xml ``` 以前と同じように、セッションのリカバリーに使用する接続は、メッセージを受信したときに使用した接続と同じでなければなりません。 ## [](#関連情報)関連情報 - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription) - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-listener) # メッセージ肯定応答の処理 JMS Connector には、いくつかの異なる肯定応答設定があります。 ## [](#成功時の自動肯定応答)成功時の自動肯定応答 `AUTO ackMode`​ を ​`ibm-mq:listener`​ コンポーネントで使用することにより、フローの実行が正常に完了した場合に​**限って**​、受信したメッセージが自動的に肯定応答されます。 フロー実行中にエラーが発生して早期に終了した場合、メッセージは肯定応答されず、再配信が行われます。 `AUTO`​ と似たもう一つの ​`ackMode`​ に ​`DUPS_OK`​ があります。​`DUPS_OK`​ を使用すると、フロー実行が正常に完了した時点で自動的にメッセージが肯定応答されますが、処理がゆっくり行われるため、肯定応答を待たずにメッセージが再配信されてしまい、重複が発生する可能性があります。 ## [](#即時の肯定応答)即時の肯定応答 `ibm-mq:listener`​ または ​`ibm-mq:consume`​ のいずれかの操作で ​`ackMode`​ を ​`IMMEDIATE`​ に設定すると、メッセージがコンシュームされたらすぐに、アプリケーションによってメッセージの処理が行われる前に自動的に肯定応答されます。 メッセージの受信後に自動的に肯定応答すると、メッセージの処理中にエラーが発生してもメッセージが再配信されないため、デッドレターキューのようなアプリケーションロジックを作成して、メッセージを失わずにエラーを処理する必要があります。 ## [](#手動肯定応答)手動肯定応答 ご推察の通り、​`MANUAL` ​`ackMode`​ は、メッセージの肯定応答の責任をすべてアプリケーションロジックに委ねます。 この設定を使用すると、​`listener`​ または ​`consume`​ のいずれかの操作で受信したすべてのメッセージでは Mule メッセージ ​`attributes`​ に ​`ackId`​ が含まれています。メッセージはそれによって特定の接続で一意に識別されます。 メッセージを識別する ​`ackId`​ は ​`ibm-mq:ack`​ 操作に渡されます。 ```xml ``` ### [](#手動セッションリカバリー)手動セッションリカバリー `MANUAL ackMode`​ を使用した場合、ブローカーは、受信されていても肯定応答されていないすべてのメッセージを再配信しません。 メッセージの処理中にエラーが発生して肯定応答ができない場合は、ユーザーが ​`recover-session`​ 操作を使用して、再配信する必要のあるセッション中のすべてのメッセージを手動でリカバリーする責任を負います。 ```xml ``` 以前と同じように、セッションのリカバリーに使用する接続は、メッセージを受信したときに使用した接続と同じでなければなりません。 ## [](#関連情報)関連情報 - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription) - [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-listener) # 新規メッセージのリスン IBM MQ のリスナーソースと JMS Connector を使用すると、メッセージが宛先に届くたびにコンシュームすることができます。 ## [](#新規メッセージのリスン)新規メッセージのリスン キューからの新規メッセージをリスンするための構文は次のとおりです。 ```xml ``` ソースは、宛先で識別されるキューで新規メッセージをリスンし、キューに JMS メッセージが登録されるたびに Mule メッセージを返します。 メッセージには以下の情報が含まれます。 - ペイロードとしてのメッセージのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 デフォルトでは、コンシュームしたメッセージは、メッセージを受信したフローの実行が正常に完了した時点でのみ肯定応答されます。 フローの実行中にエラーが発生してセッションのリカバリーが発生した場合は、JMS メッセージは再配信されます。 メッセージの肯定応答については、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-ack)​を参照してください。 ## [](#メッセージスループットの設定)メッセージスループットの設定 より多くの処理能力が必要である場合、JMS リスナーでは ​`numberOfConsumers`​ を設定することで、特定のリスナーがメッセージをコンシュームするために同時に使用するコンシューマーの数を指定できます。 デフォルトでは、各リスナーは 4 つのコンシューマーを使用してメッセージを同時に生成します。各コンシューマーは処理するメッセージを待つため、同時に最大 4 件のメッセージが転送されることになります。 メッセージの同時処理数を増やす必要がある場合は、リスナーの ​`numberOfConsumers`​ 設定を増やしてください。 ## [](#受信メッセージの絞り込み)受信メッセージの絞り込み JMS Connector は、標準の JMS ​`selector`​ 言語に基づいた、コンシュームするメッセージの絞り込みを完全にサポートします。 たとえば、他のメッセージよりも先に処理する必要のあるメッセージが登録される優先キューがある場合は、次のように絞り込みを行うことができます。 ```xml ``` セレクターを設定すると、一致するメッセージのみ受信され、宛先にある他のメッセージはすべて無視されます。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード JMS Connector は、MM\_MESSAGE\_CONTENT\_TYPE プロパティに基づいて、できる限り正確にメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。しかしながら、最良の判断が間違っていることもあり、その場合は、メッセージのコンテンツに関する情報を提供する必要があります。このような場合には、​`inboundContentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターはランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`inboundEncoding`​ パラメーターで設定できます。 ## [](#受信メッセージへの返信)受信メッセージへの返信 受信した JMS メッセージで ​**\[Reply to (返信先)\]**​ 宛先が宣言されている場合、​**On new message**​ ソースはメッセージが正常に処理された時点で (つまり、フローの実行中にエラーが発生しなかった場合に) 応答を生成します。 この場合、フローの完了時に、処理したメッセージのヘッダーで指定されている宛先に応答がパブリッシュされます。 次の XML 構文を使用して、​**On New message**​ ソースの IBM MQ 応答を設定できます。 ```xml #['Message received was: ' ++ payload] #[{'processedAt': now}] ``` **On New Message**​ ソースの ​**\[Reply to (返信先)\]**​ 項目で、元のメッセージの \[reply to (応答先)\] 項目は上書きされませんが、\[reply to (応答先)\] 項目が応答として送信されるメッセージの項目に設定されます。 この応答ビルダーにより、応答メッセージの ​`body`​ および ​`properties`​ を設定できるだけでなく、​`priority`​ や ​`persistentDelivery`​ などの任意のヘッダーを指定することもできます。 これらの設定はすべてアウトバウンドメッセージに影響し、プロセスの完了時にフローで使用できるすべての情報を使用して構築できます。 `ibm-mq:response`​ 要素の ​`ignoreReplyTo`​ 属性を使用して、自動返信を無効にします。 ```xml ``` ## [](#トピックサブスクリプションを使用したメッセージのリスン)トピックサブスクリプションを使用したメッセージのリスン トピックの宛先からのメッセージのリスンは、キューからのリスンと非常によく似ていますが、トピックサブスクリプションを使用してコンシューマー間で状態を共有できるという追加の機能があります。 トピックにサブスクライブするための構文は次の通りです。 ```xml ``` `listener`​ パラメーターはすべて同じですが、​`topic-consumer`​ パラメーターでサブスクリプション設定を定義できます。 トピックサブスクリプションの設定方法についての詳細は、​[「トピックサブスクリプションの使用」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription)​を参照してください。 ## [](#関連情報)関連情報 - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-consume) - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-topic-subscription) # 新規メッセージのリスン IBM MQ のリスナーソースと JMS Connector を使用すると、メッセージが宛先に届くたびにコンシュームすることができます。 ## [](#新規メッセージのリスン)新規メッセージのリスン キューからの新規メッセージをリスンするための構文は次のとおりです。 ```xml ``` ソースは、宛先で識別されるキューで新規メッセージをリスンし、キューに JMS メッセージが登録されるたびに Mule メッセージを返します。 メッセージには以下の情報が含まれます。 - ペイロードとしてのメッセージのコンテンツ。 - メッセージ属性に含まれるメッセージのメタデータ。 デフォルトでは、コンシュームしたメッセージは、メッセージを受信したフローの実行が正常に完了した時点でのみ肯定応答されます。 フローの実行中にエラーが発生してセッションのリカバリーが発生した場合は、JMS メッセージは再配信されます。 メッセージの肯定応答については、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-ack)​を参照してください。 ## [](#メッセージスループットの設定)メッセージスループットの設定 より多くの処理能力が必要である場合、JMS リスナーでは ​`numberOfConsumers`​ を設定することで、特定のリスナーがメッセージをコンシュームするために同時に使用するコンシューマーの数を指定できます。 デフォルトでは、各リスナーは 4 つのコンシューマーを使用してメッセージを同時に生成します。各コンシューマーは処理するメッセージを待つため、同時に最大 4 件のメッセージが転送されることになります。 メッセージの同時処理数を増やす必要がある場合は、リスナーの ​`numberOfConsumers`​ 設定を増やしてください。 ## [](#受信メッセージの絞り込み)受信メッセージの絞り込み JMS Connector は、標準の JMS ​`selector`​ 言語に基づいた、コンシュームするメッセージの絞り込みを完全にサポートします。 たとえば、他のメッセージよりも先に処理する必要のあるメッセージが登録される優先キューがある場合は、次のように絞り込みを行うことができます。 ```xml ``` セレクターを設定すると、一致するメッセージのみ受信され、宛先にある他のメッセージはすべて無視されます。 ## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード JMS Connector は、MM\_MESSAGE\_CONTENT\_TYPE プロパティに基づいて、できる限り正確にメッセージの MIME タイプ (​`contentType`​) を自動的に判断します。しかしながら、最良の判断が間違っていることもあり、その場合は、メッセージのコンテンツに関する情報を提供する必要があります。このような場合には、​`inboundContentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。 同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターはランタイムのデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`inboundEncoding`​ パラメーターで設定できます。 ## [](#受信メッセージへの返信)受信メッセージへの返信 受信した JMS メッセージで ​**\[Reply to (返信先)\]**​ 宛先が宣言されている場合、​**On new message**​ ソースはメッセージが正常に処理された時点で (つまり、フローの実行中にエラーが発生しなかった場合に) 応答を生成します。 この場合、フローの完了時に、処理したメッセージのヘッダーで指定されている宛先に応答がパブリッシュされます。 次の XML 構文を使用して、​**On New message**​ ソースの IBM MQ 応答を設定できます。 ```xml #['Message received was: ' ++ payload] #[{'processedAt': now}] ``` **On New Message**​ ソースの ​**\[Reply to (返信先)\]**​ 項目で、元のメッセージの \[reply to (応答先)\] 項目は上書きされませんが、\[reply to (応答先)\] 項目が応答として送信されるメッセージの項目に設定されます。 この応答ビルダーにより、応答メッセージの ​`body`​ および ​`properties`​ を設定できるだけでなく、​`priority`​ や ​`persistentDelivery`​ などの任意のヘッダーを指定することもできます。 これらの設定はすべてアウトバウンドメッセージに影響し、プロセスの完了時にフローで使用できるすべての情報を使用して構築できます。 `ibm-mq:response`​ 要素の ​`ignoreReplyTo`​ 属性を使用して、自動返信を無効にします。 ```xml ``` ## [](#トピックサブスクリプションを使用したメッセージのリスン)トピックサブスクリプションを使用したメッセージのリスン トピックの宛先からのメッセージのリスンは、キューからのリスンと非常によく似ていますが、トピックサブスクリプションを使用してコンシューマー間で状態を共有できるという追加の機能があります。 トピックにサブスクライブするための構文は次の通りです。 ```xml ``` `listener`​ パラメーターはすべて同じですが、​`topic-consumer`​ パラメーターでサブスクリプション設定を定義できます。 トピックサブスクリプションの設定方法についての詳細は、​[「トピックサブスクリプションの使用」](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription)​を参照してください。 ## [](#関連情報)関連情報 - [メッセージのコンシューム方法](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-consume) - [トピックサブスクリプションの使用](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-topic-subscription) # 返信のリスン 要求と応答はアプリケーション間で広く行われているパターンであるため、新しい IBM MQ Connector は ​`publish-consume`​ という操作をそのために提供しています。 publish-consume 操作では、メッセージを任意の宛先にパブリッシュしてから、異なる宛先での応答を待つことができます。 publish-consume 操作を使用する場合、送信メッセージの JMSReplyTo ヘッダーで、アプリケーションが応答を待つ宛先の ID が渡されます。この宛先は、既知の宛先か、または特定の応答メッセージを受け取るためだけに一時的に作成される宛先のどちらかになります。 操作の結果として、コンシューム操作が呼び出された場合と同じ構造を持つ応答メッセージが受信されます。 ## [](#一時キューでの応答の待機)一時キューでの応答の待機 一時キューを使用して応答を待機するための設定は非常にシンプルで、送信するメッセージを設定するだけで、操作は自動的に一時キューで応答を待ちます。 ```xml ``` この例では、現在のペイロードを本文とし、JMSReplyTo ヘッダーを一時的な宛先としたメッセージを ​`targetDestination`​ にパブリッシュします。 その後、一時キューから応答メッセージをコンシュームするか、または maximumWait 時間が経過するまで (この場合は IBM-MQ:TIMEOUT エラーで操作が失敗します)、自動的に応答のコンシュームを試みます。 ## [](#既知のキューでの応答の受信)既知のキューでの応答の受信 多くの場合、要求ごとに応答キューを作成する必要はなく、既知のキューを応答に使用できます。 この場合、自分で実行するのは、送信メッセージで ​`reply-to`​ パラメーターを設定することだけです。 ```xml ``` この例では、現在のペイロードを本文とし、JMSReplyTo ヘッダーを ​`replyToDestination`​ に設定したメッセージを ​`targetDestination`​ にパブリッシュします。 その後、メッセージがコンシュームされるか、maximumWait 時間が経過するまで (この場合は IBM-MQ:TIMEOUT エラーで操作が失敗します)、replyToDestination キューから自動的に応答のコンシュームを試みます。 ## [](#要求応答パターン)要求応答パターン IBM MQ Connector v1.5.0: JMS には、要求メッセージと応答メッセージの相関方法を示すよく知られた要求応答パターンが 2 つあります。これは、受信したメッセージが出力メッセージの正しい応答であることを保証する方法を意味します。 ### [](#相関-id-パターン)相関 ID パターン このパターンは、Publish Consume 操作のデフォルトです。このパターンを使用すると、宛先キューにメッセージをパブリッシュした後の操作で、要求メッセージのパブリッシュに使用する相関 ID と同じ相関 ID を持つメッセージを期待するセレクターを使用して、メッセージがコンシュームされます。 クライアントおよびリスナーの IBM MQ 相関 ID パターンの実装 ```xml ``` ### [](#メッセージ-id-パターン)メッセージ ID パターン メッセージ ID パターンは、相関 ID パターンとは異なり、宛先キューにメッセージをパブリッシュした後の操作で、要求メッセージのメッセージ ID と同じ値の相関 ID を持つメッセージを期待するセレクターを使用して、メッセージがコンシュームされます。 クライアントおよびリスナーの IBM MQ メッセージ ID パターンの実装 ```xml ``` ### [](#なし)なし 上記のどのパターンも使用しないように操作を設定することもできます。この場合、コンシューマーはセレクターを使用してメッセージを相関するのではなく、応答キューからコンシュームを試みます。 確実に 1 つのメッセージのみが含まれる一時キューを使用して作業する場合は、このオプションが役立ちます。 ## [](#関連情報)関連情報 - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.6/ibm-mq-publish) # 返信のリスン 要求と応答はアプリケーション間で広く行われているパターンであるため、新しい IBM MQ Connector は ​`publish-consume`​ という操作をそのために提供しています。 publish-consume 操作では、メッセージを任意の宛先にパブリッシュしてから、異なる宛先での応答を待つことができます。 publish-consume 操作を使用する場合、送信メッセージの JMSReplyTo ヘッダーで、アプリケーションが応答を待つ宛先の ID が渡されます。この宛先は、既知の宛先か、または特定の応答メッセージを受け取るためだけに一時的に作成される宛先のどちらかになります。 操作の結果として、コンシューム操作が呼び出された場合と同じ構造を持つ応答メッセージが受信されます。 ## [](#一時キューでの応答の待機)一時キューでの応答の待機 一時キューを使用して応答を待機するための設定は非常にシンプルで、送信するメッセージを設定するだけで、操作は自動的に一時キューで応答を待ちます。 ```xml ``` この例では、現在のペイロードを本文とし、JMSReplyTo ヘッダーを一時的な宛先としたメッセージを ​`targetDestination`​ にパブリッシュします。 その後、一時キューから応答メッセージをコンシュームするか、または maximumWait 時間が経過するまで (この場合は IBM-MQ:TIMEOUT エラーで操作が失敗します)、自動的に応答のコンシュームを試みます。 ## [](#既知のキューでの応答の受信)既知のキューでの応答の受信 多くの場合、要求ごとに応答キューを作成する必要はなく、既知のキューを応答に使用できます。 この場合、自分で実行するのは、送信メッセージで ​`reply-to`​ パラメーターを設定することだけです。 ```xml ``` この例では、現在のペイロードを本文とし、JMSReplyTo ヘッダーを ​`replyToDestination`​ に設定したメッセージを ​`targetDestination`​ にパブリッシュします。 その後、メッセージがコンシュームされるか、maximumWait 時間が経過するまで (この場合は IBM-MQ:TIMEOUT エラーで操作が失敗します)、replyToDestination キューから自動的に応答のコンシュームを試みます。 ## [](#要求応答パターン)要求応答パターン IBM MQ Connector v1.5.0: JMS には、要求メッセージと応答メッセージの相関方法を示すよく知られた要求応答パターンが 2 つあります。これは、受信したメッセージが出力メッセージの正しい応答であることを保証する方法を意味します。 ### [](#相関-id-パターン)相関 ID パターン このパターンは、Publish Consume 操作のデフォルトです。このパターンを使用すると、宛先キューにメッセージをパブリッシュした後の操作で、要求メッセージのパブリッシュに使用する相関 ID と同じ相関 ID を持つメッセージを期待するセレクターを使用して、メッセージがコンシュームされます。 クライアントおよびリスナーの IBM MQ 相関 ID パターンの実装 ```xml ``` ### [](#メッセージ-id-パターン)メッセージ ID パターン メッセージ ID パターンは、相関 ID パターンとは異なり、宛先キューにメッセージをパブリッシュした後の操作で、要求メッセージのメッセージ ID と同じ値の相関 ID を持つメッセージを期待するセレクターを使用して、メッセージがコンシュームされます。 クライアントおよびリスナーの IBM MQ メッセージ ID パターンの実装 ```xml ``` ### [](#なし)なし 上記のどのパターンも使用しないように操作を設定することもできます。この場合、コンシューマーはセレクターを使用してメッセージを相関するのではなく、応答キューからコンシュームを試みます。 確実に 1 つのメッセージのみが含まれる一時キューを使用して作業する場合は、このオプションが役立ちます。 ## [](#関連情報)関連情報 - [メッセージのパブリッシュ](https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/ibm-mq-publish)