---
schema_version: "1"
id: d87caef59012ffedfaf6ba04419698fb485d997e800b8b103e35efd9cc4afe16
title: IBM MQ Connector
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/ibm-mq-connector/1.7/index.md
canonical_url: https://docs.mulesoft.com/jp/ibm-mq-connector/1.7/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 96c41066f874981d26945e46cecfb4130c97ff4acbd8e7298859ade9e7fc294c
description: MuleSoft Documentation Site
release: "1.7"
latest: true
---
# 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 経由で接続します。

この接続モードでは、次のパラメーターを設定できます。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">必須</th>
<th class="tableblock halign-left valign-top">デフォルト値</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Host (ホスト)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">IBM MQ ブローカーが動作しているホスト。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Port (ポート)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1414</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューマネージャーのリスナーポート。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue Manager (キューマネージャー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">チャネル定義を選択する際に使用するキューマネージャー。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Channel (チャネル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">接続先のチャネル名。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connection Name List (接続名リスト)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">FALSE</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">接続が失われたときにクライアントが再接続を試みるホスト。<br>
接続名リストでは、ホストと IP ポートのペアをカンマで区切って指定します。<br>
<strong>例:</strong>​ ​<code>0.0.0.0(1414),somehost.domain.com(1415)</code></p></td>
</tr>
</tbody>
</table>

![クライアント接続](/mulesoft/current/ja-jp/ibm-mq-connector/1.7/_images/ibm-mq-client-connection-mode.png)

Figure 1. Studio でのクライアント接続設定

XML でのクライアント接続設定

```xml
<ibm-mq:config name="IBM_MQ_Config">
 <ibm-mq:connection >
   <ibm-mq:connection-mode >
	 	<ibm-mq:client host="0.0.0.0" port="1414" queueManager="QM1" channel="DEV.ADMIN.SVRCONN" />
		</ibm-mq:connection-mode>
	</ibm-mq:connection>
</ibm-mq:config>
```

### [](#バインディング接続モード)バインディング接続モード

バインディング接続モードでは、同じシステムで動作している 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 name="IBM_MQ_Config">
  <ibm-mq:connection >
    <ibm-mq:connection-mode >
      <ibm-mq:binding queueManager="QM1" />
    </ibm-mq:connection-mode>
  </ibm-mq:connection>
</ibm-mq:config>
```

## [](#グローバルデフォルトの定義)グローバルデフォルトの定義

IBM MQ の ​`config`​ では、メッセージをコンシュームまたはパブリッシュする際にデフォルトとして使用される複数のパラメーターを定義できます。これにより、設定に関連付けられているすべての操作に対してグローバルデフォルト動作を定義しておいて、カスタム動作を必要とする操作でのみパラメーターを変更することができます。

たとえば、この設定に関連付けられているすべての操作でメッセージをコンシュームする際のデフォルトの ​`selector`​ 動作を定義することができます。

```xml
<ibm-mq:config name="IBM_MQ_Config">
  <ibm-mq:connection/>
  <ibm-mq:consumer-config selector="JMSType = `INVOICE`"/>
  <ibm-mq:producer-config timeToLive="60000"/>
</ibm-mq:config>
```

この場合、この設定に関連付けられているすべての consume または listener 操作はデフォルトで ​`selector`​ を使用し、Publish または Publish-Consume が発生するたびに、送信されるメッセージの TTL は 60 秒に設定されます。

これらのすべてのプロパティは、必要であれば操作レベルで変更できます。 短い TTL でメッセージをパブリッシュするには、次の設定例を使用してパラメーターを変更します。

```xml
<ibm-mq:publish config-ref="IBM_MQ_Config" timeToLive="10000"/>
```

## [](#jms-仕様の選択)JMS 仕様の選択

主要な共通パラメーターである JMS 仕様は、サポートされるバージョンである 2.0 と 1.1 のどちらかを選択します。この接続に関連付けられるブローカー実装でサポートされる仕様を選択しないと、接続が失敗します。

<table><tbody><tr><td class="icon"><i class="fa icon-warning" title="Warning"></i></td><td class="content">JMS 2.0 のみで利用可能な機能は、他の仕様では動作しません。</td></tr></tbody></table>

## [](#認証用のログイン情報の提供)認証用のログイン情報の提供

認証された接続を確立するには、接続要素でユーザー名とパスワードを設定する必要があります。

```xml
<ibm-mq:config name="IBM_MQ_Config">
	<ibm-mq:connection username="<username>" password="<password>" >
		<ibm-mq:connection-mode >
			<ibm-mq:client
			host="0.0.0.0"
			port="1414"
			queueManager="QM1"
			channel="DEV.ADMIN.SVRCONN" />
		</ibm-mq:connection-mode>
	</ibm-mq:connection>
</ibm-mq:config>
```

## [](#接続キャッシングの設定)接続キャッシングの設定

ブローカーに接続して必要な操作を実行するため、JMS Connector は複数のセッション、コンシューマー、およびプロデューサーを作成します。これらをキャッシュして再利用することで、アプリケーションのパフォーマンスを高めることができます。そのため、IBM MQ Connector では、新しい接続を作成する際に使用するキャッシュ戦略を設定できます。デフォルトの戦略では、コンシューマーとプロデューサーの両方をキャッシュし、できるだけ多くのインスタンスを同時にメモリ内に保持します。

キャッシュ設定は、接続宣言内で直接カスタマイズすることができます。

```xml
<ibm-mq:config name="IBM_MQ_Config">
  <ibm-mq:connection>
    <ibm-mq:caching-strategy>
      <ibm-mq:default-caching sessionCacheSize="100" consumersCache="false" producersCache="true"/>
    </ibm-mq:caching-strategy>
  </ibm-mq:connection>
</ibm-mq:config>
```

## [](#接続クライアントの識別)接続クライアントの識別

クライアント識別子は、接続およびそのオブジェクトを、クライアントの代わりにプロバイダーによって保持される状態と関連付けるものであり、共有されていない永続的なサブスクリプションを識別するために​**必要**​です。

```xml
<ibm-mq:config name="IBM_MQ_Config">
  <ibm-mq:connection clientId="${env.clientId}"/>
</ibm-mq:config>
```

<table><tbody><tr><td class="icon"><i class="fa icon-warning" title="Warning"></i></td><td class="content">定義上、​<code>clientId</code>​ によって識別されるクライアント状態は、同時に 1 つの接続によってのみ「使用中」となることができます。</td></tr></tbody></table>

## [](#接続に必要なライブラリのセットアップ)接続に必要なライブラリのセットアップ

**重要:**​ コネクタはどの特定の実装にもバインドされていないため、使用する接続の種別には関係なく、常に JMS クライアント実装を含むライブラリを設定する必要があります。

### [](#ibm-mq-外部ライブラリ)IBM MQ 外部ライブラリ

IBM MQ Connector を使用するには、外部 IBM MQ ライブラリを設定します。IBM MQ クライアントライブラリは、​`com.ibm.mq.jms.MQConnectionFactory`​ 実装を提供している必要があります。

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content">IBM MQ Allclient ライブラリを使用します。</td></tr></tbody></table>

たとえば、次のように設定します。

```xml
<dependency>
    <groupId>com.ibm.mq</groupId>
    <artifactId>com.ibm.mq.allclient</artifactId>
    <version>9.0.5.0</version>
</dependency>
```

## [](#関連情報)関連情報

- [メッセージのコンシューム](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)