[AIX、Linux、Windows]

AMQP 1.0 サポート

AMQP チャネルは、AMQP 1.0 準拠のアプリケーションのサポート・レベルを提供します。

[MQ 9.2.0 Jul 2020]AMQP チャネルは AMQP 1.0 プロトコルのサブセットをサポートします。 AMQP 1.0 互換クライアントを IBM® MQ AMQP チャネルに接続することができる。 AMQP チャネルでサポートされるすべてのメッセージング機能を使用するには、特定の AMQP 1.0 フィールドの値を正しく設定する必要があります。

この情報によって、AMQP フィールドの形式の概要が決まり、AMQP チャネルでサポートされない AMQP 1.0 仕様の機能がリストされます。

AMQP 1.0 仕様の以下の機能は、その利用がサポートされていないか限定されています。

[MQ 9.2.1 Dec 2020]

ATTACH フレーム

AMQP チャネルは、ATTACH フレームの機能に以下のいずれかが含まれていることを想定しています。
  • topic
  • temporary queue
  • queue
  • shared

機能はオブジェクトのタイプを意味し、マルチ機能の場合、機能を選択する優先順位はトピック、一時キュー、キューです。

予期される値が機能に含まれない場合、デフォルトの機能はトピックになります。 その他の機能は、すべて無視されます。
注: 一部の AMQP クライアントはこれらの機能を設定していないため、パブリッシュ/サブスクライブの IBM MQ デフォルト動作を取得します。 例えば、 Quarkus Reactive Messaging AMQP 1.0 コネクターは、バージョン 2.8.0CR1 以降の機能のみを設定します。
[MQ 9.2.2 Mar 2021]AMQPチャネルは、ATTACHフレームの distribution-Mode 、ソースまたはターゲットに対して以下のいずれかを含むことを期待します:
  • 移動
  • copy
move は、破壊的な取得を示し、copy はブラウザーを示しています。
注: distribution-Mode が設定されていない場合、または copy以外に設定されている場合は、 move が想定されます。

リンク名

AMQPチャネルは、AMQPリンクの名前が 5つの形式のうちの1つに従うことを期待している:
  • プレーン・トピック (パブリッシュおよびサブスクライブ用)
    • メッセージのパブリッシュ: プレーン・トピック・ストリング (リンク名 "/sports/football"など) を使用すると、メッセージが /sports/football トピックにパブリッシュされます。
    • メッセージを受信するためにトピックにサブスクライブする場合: プレーン・トピック・ストリング (例えば、リンク名 "/sports/football" を指定すると、 /sports/football トピックにサブスクリプションが定義されます。
  • 専用冗長トピック (サブスクライブ用)
    • "private:topic string" の形式でプライベート・サブスクリプションを記述する詳細トピック・ストリング (例: "private:/sports/football")。 この動作は、プレーン・トピック・ストリングと同じです。 private 宣言は、特定の AMQP クライアントに固有のサブスクリプションを、クライアント間で共有されるサブスクリプションと区別します。
  • 共有冗長トピック (サブスクライブ用)
    • "share:share name:topic string" という形式で共有サブスクリプションを記述する詳細トピック・ストリング (例: "share:bbc:/sports/football")。
  • [MQ 9.2.1 Dec 2020]キュー (プロデューサーとコンシューマー向けの point-to-point メッセージング用)
    • メッセージを送信するプロデューサー。キュー名の文字列を指定すると、プロデューサーはキューでメッセージを送信します。
    • メッセージを受信するコンシューマー。キュー名の文字列を指定すると、コンシューマーはキューからメッセージを受信します。
  • [MQ 9.2.1 Dec 2020]ブランク (一時キューの point-to-point メッセージング用)
    • 一時キューでメッセージを送信するプロデューサー。ブランクを指定すると、プロデューサーは一時キューでメッセージを送信します。
    • 一時キューでメッセージを受信するコンシューマー。ブランクを指定すると、コンシューマーは一時キューからメッセージを受信します。
AMQP メッセージが IBM MQ メッセージとマッピングされる方法の詳細については、 Mapping AMQP fields onto IBM MQ fields (incoming messages) を参照のこと。

トピック・ストリング、共有名、およびクライアント ID の最大長

トピック・ストリング、共有名、およびクライアント ID の長さは 10237 バイト以内でなければなりません。 また、クライアント ID の最大長は 256 文字です。

これらの最大長は、以下を意味します。
  • 共有名が短い場合は、トピック・ストリングを非常に長くすることができる。
  • トピック・ストリングが短い場合は、共有名を長くすることができる。

コンテナー ID

AMQP チャネルは、AMQP オープン・パフォーマンスのコンテナー ID に固有の AMQP クライアント ID が含まれていることを予期します。 AMQP クライアント ID の最大長は 256 文字で、ID には英数字、パーセント記号 (%)、スラッシュ (/)、ピリオド (.)、および下線 (_) を使用できます。

セッション数

AMQP チャネルは、単一 AMQP セッションのみサポートしています。 AMQP クライアントが複数の AMQP セッションを作成しようとすると、エラー・メッセージが出て、チャネルから切断されます。

トランザクション

AMQP チャネルは AMQP トランザクションをサポートしていません。 AMQP 接続フレームが新規トランザクションを整合しようとしたり、AMQP 転送フレームが新規トランザクションを宣言しようとすると、エラー・メッセージが出て拒否されます。

送達状態

[MQ 9.2.0 Jul 2020]AMQP チャネルは、ファイル属性指定フレームの送達状態として Accepted、Released、または Modified のみサポートしています。 Modified 状態が使用されている場合、AMQP チャネルは undeliverable-here オプションをサポートしないことに注意してください。