IBM MQの4つのキュータイプ、キュー属性

IBM MQには様々な種類のキューがあり、目的に沿って使用することになっています。

キューのタイプ

キュー定義には、4 つのタイプがあります。

  1. ローカル・キュー(LOCAL)
  2. リモート・キュー(REMOTE)
  3. 別名キュー(ALIAS)
  4. モデル・キュー(MODEL)

ローカル・キュー

ローカル・キューにはメッセージを格納できます。キューは、プログラムが接続されているキュー・マネージャーに所有される場合、プログラムではローカル と認知されます。メッセージは、ローカル・キューから取得し、ローカル・キューに入れることができます。
キュー定義オブジェクトは、キューに入る物理メッセージと同様、そのキューの定義情報を保持します。

このキューはローカル・キュー・マネージャー上に存在します。ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューに対してメッセージを書き込んだり、メッセージを削除したりできます。 QType キュー属性の値は、 MQQT_LOCAL です。

使い方の指定

ローカルキューは使い方を指定することで、さらに詳細なタイプを指定できます。よく使用する使い方は伝送キューです。転送キューと呼ぶ人もいます。

伝送キューは、リモート・キュー・マネージャー宛てのメッセージを一時的に保管するキューです。ローカル・キュー・マネージャーがメッセージを直接送信する各リモート・ キュー・マネージャーごとに、少なくとも 1 つの伝送キューを定義する必要が あります。

宛先のキュー・マネージャーと同名の伝送キューがあれば、その伝送キューにメッセージが入れられます。

IBM MQ によって特定の目的で使用されるキュー – IBM

リモート・キュー

リモート・キューは物理的なキューではありません。 リモート・キュー・マネージャー上に存在するキューのローカル定義です。リモート・キューのローカル定義には、 リモート・キュー・マネージャーにメッセージを経路指定する方法を、 ローカル・キュー・マネージャーに示す情報が入っています。

ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューにメッセージを書き込むことができます。 そのメッセージは、リモート・キュー・マネージャーにメッセージを経路指定するために使用されるローカル伝送キューに入れられます。

伝送キューの定義 – IBM

アプリケーションは、リモート・キューからメッセージを除去することはできません。QType キュー属性の値は、 MQQT_REMOTE です。

リモート・キューの定義は、次の用途にも使用できます。

応答キューへの別名割り当て

この場合、定義の名前は、 応答先のキューの名前です。詳細については、応答先キューの別名およびクラスターを参照してください。

キュー・マネージャーの別名割り当て

この場合、定義の名前は、キューの名前ではなく キュー・マネージャーの別名です。詳細については、キュー・マネージャーの別名およびクラスターを参照してください。

別名キュー

これは物理的なキューではありません。ローカル・キュー、 共有キュー、クラスター・キュー、またはリモート・キューの代替名です。別名から解決されるキューの名前は、 別名キューの定義内に含まれています。
ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューにメッセージを書き込むことができます。 そのメッセージは、別名から解決されたキューに入れられます。 アプリケーションがこのタイプのキューからメッセージを削除できるのは、 別名が、ローカル・キュー、共有キュー、 またはローカル・インスタンスを持つクラスター・キューに解決された場合です。 QType キュー属性の値は、 MQQT_ALIAS です。

モデル・キュー

これは、物理的なキューではありません。キュー属性の 1 セットであり、 これを基にしてローカル・キューを作成することができます。
このタイプのキューには メッセージを保管できません。

キュー属性

キュー属性には、すべてのタイプのキューに適用される属性と、特定のタイプのキューにのみ適用される属性があります。それぞれのパラメータ定義は次のとおりです。

DEFINE キュー

引用:キューの属性 – IBM