ページの先頭行へ戻る
Interstage Application Server MessageQueueDirector説明書

2.4.1 メッセージキューとは

  メッセージキューは、アプリケーションがメッセージ交換を行うときに一時的にメッセージを格納しておく場所です。ここでは、メッセージキューについて以下を説明します。

2.4.1.1 メッセージ保証レベル

  メッセージキューには、以下の二つのメッセージ保証レベルがあります。

メモリ型

  メモリ型のメッセージキューは、アプリケーションが送信したメッセージをMQDが動作している間だけメモリ上で管理します。メモリだけを使用してメッセージ通信を行うため、高性能なレスポンスを得ることができます。ただし、システムダウンが発生したり、MQDを停止した場合は、メッセージキュー上に残っているメッセージが失われるため、信頼性が低下します。

  なお、メッセージ格納ファイルとしてデータベースを使用した場合、メモリ型のメッセージキューは使用できません。

ディスク型

  ディスク型のメッセージキューは、アプリケーションが送信したメッセージをハードディスク上で管理します。システムダウン、通信回線異常やMQDの停止によりメッセージが失われることがないため、高信頼なメッセージ通信を行うことができます。ただし、メモリ型に比べて処理性能が低下します。

  ディスク型のメッセージキューを格納するファイルとして、一般のファイルシステムとデータベースを利用することができます。データベースを利用することで、メッセージ格納ファイルの大容量化や複数デバイスへの配置がデータベースの機能を使用して実現可能になります。

  なお、利用できるデータベース管理システムはSymfoware/RDBです。


  データベース管理システムの機能を直接使用した場合は、MQDシステムを壊すおそれがあるため、“5.3 メッセージ格納ファイルとしてデータベースを使用する場合の保守”で説明する保守操作以外は行わないでください。MQDシステムが使用しているデータベースを直接操作した場合、MQDシステムの動作は保証されません。また、保守操作を行う上でも十分な注意が必要です。データベース管理システムの機能を十分理解して操作を行ってください。

2.4.1.2 プライオリティ

  プライオリティとは、メッセージ送受信処理の優先度です。プライオリティを変えることにより、緊急のメッセージを優先的に処理させることができます。

  プライオリティは、以下に示す高レベルから低レベルまでの複数の段階があり、メッセージの送信時にアプリケーションが指定します。

  プライオリティの指定を省略した場合は、メッセージキューにあるプライオリティの省略値が適用されます。1ユニット複数メッセージの場合は、ユニット内の先頭メッセージのプライオリティが使用されます。

  メッセージキュー上のメッセージは、以下の契機でメッセージキューから取出すときに、より高いプライオリティのメッセージから優先的に処理されます。

2.4.1.3 メッセージキューの属性

  メッセージキューの属性には以下の二つがあります。

定義情報

  定義情報には、以下のものがあり、メッセージキューを作成するときに指定します。

運用情報

  運用情報には、以下のものがあり、プログラムインタフェースまたはコマンドにより取得することができます。

2.4.1.4 メッセージキューの状態変移

  メッセージキューには以下の状態があります。図2.6 メッセージキューの状態変移にメッセージキューの状態変移を示します。

図2.6 メッセージキューの状態変移

未作成

  メッセージキューがまだ作成されていない状態、またはメッセージキューを削除した状態です。

作成済

  プログラムインタフェースまたはコマンドによりメッセージキューを作成した状態、またはアクセス禁止を解除した状態です。この状態でメッセージキューに接続してメッセージを送受信することが可能です。

アクセス禁止

  プログラムインタフェースまたはコマンドによりメッセージキューへのアクセスを禁止した状態です。禁止状態には以下のものがあります。

  なお、以下の場合には、メッセージキューが一時的に“使用禁止状態”となり、アクセスが禁止されます。