IBM MQには様々な種類のキューがあり、目的に沿って使用することになっています。
キューのタイプ
キュー定義には、4 つのタイプがあります。
- ローカル・キュー(LOCAL)
- リモート・キュー(REMOTE)
- 別名キュー(ALIAS)
- モデル・キュー(MODEL)
ローカル・キュー
ローカル・キューにはメッセージを格納できます。キューは、プログラムが接続されているキュー・マネージャーに所有される場合、プログラムではローカル と認知されます。メッセージは、ローカル・キューから取得し、ローカル・キューに入れることができます。
キュー定義オブジェクトは、キューに入る物理メッセージと同様、そのキューの定義情報を保持します。
このキューはローカル・キュー・マネージャー上に存在します。ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューに対してメッセージを書き込んだり、メッセージを削除したりできます。 QType キュー属性の値は、 MQQT_LOCAL です。
使い方の指定
ローカルキューは使い方を指定することで、さらに詳細なタイプを指定できます。よく使用する使い方は伝送キューです。転送キューと呼ぶ人もいます。
伝送キューは、リモート・キュー・マネージャー宛てのメッセージを一時的に保管するキューです。ローカル・キュー・マネージャーがメッセージを直接送信する各リモート・ キュー・マネージャーごとに、少なくとも 1 つの伝送キューを定義する必要が あります。
宛先のキュー・マネージャーと同名の伝送キューがあれば、その伝送キューにメッセージが入れられます。
リモート・キュー
リモート・キューは物理的なキューではありません。 リモート・キュー・マネージャー上に存在するキューのローカル定義です。リモート・キューのローカル定義には、 リモート・キュー・マネージャーにメッセージを経路指定する方法を、 ローカル・キュー・マネージャーに示す情報が入っています。
ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューにメッセージを書き込むことができます。 そのメッセージは、リモート・キュー・マネージャーにメッセージを経路指定するために使用されるローカル伝送キューに入れられます。
アプリケーションは、リモート・キューからメッセージを除去することはできません。QType キュー属性の値は、 MQQT_REMOTE です。
リモート・キューの定義は、次の用途にも使用できます。
応答キューへの別名割り当て
この場合、定義の名前は、 応答先のキューの名前です。詳細については、応答先キューの別名およびクラスターを参照してください。
キュー・マネージャーの別名割り当て
この場合、定義の名前は、キューの名前ではなく キュー・マネージャーの別名です。詳細については、キュー・マネージャーの別名およびクラスターを参照してください。
別名キュー
これは物理的なキューではありません。ローカル・キュー、 共有キュー、クラスター・キュー、またはリモート・キューの代替名です。別名から解決されるキューの名前は、 別名キューの定義内に含まれています。
ローカル・キュー・マネージャーに接続しているアプリケーションは、 このタイプのキューにメッセージを書き込むことができます。 そのメッセージは、別名から解決されたキューに入れられます。 アプリケーションがこのタイプのキューからメッセージを削除できるのは、 別名が、ローカル・キュー、共有キュー、 またはローカル・インスタンスを持つクラスター・キューに解決された場合です。 QType キュー属性の値は、 MQQT_ALIAS です。
モデル・キュー
これは、物理的なキューではありません。キュー属性の 1 セットであり、 これを基にしてローカル・キューを作成することができます。
このタイプのキューには メッセージを保管できません。
キュー属性
キュー属性には、すべてのタイプのキューに適用される属性と、特定のタイプのキューにのみ適用される属性があります。それぞれのパラメータ定義は次のとおりです。
引用:キューの属性 – IBM