WebSphere MQ API 直接呼び出しの使用

WebSphere® MQ API は、メッセージ・キュー・マネージャーからサービスを要求する際に使用できる一連のプログラム・インターフェースです。

WebSphere MQ API (MQ インターフェースや MQI とも呼ばれる) は、メッセージ・キュー・マネージャーに直接アクセスします。インターフェースが複雑であるためミスが発生しやすく、柔軟性も低いため、MQI は、既存コードを維持するためにのみ使用してください。 新規コードでは、EGL add ステートメントおよび get next ステートメントを使用して、メッセージ・キュー情報にアクセスしてください。

EGL は、以下の MQI 関数をサポートします。
WebSphere MQ API 直接呼び出しを使用するには、以下のようにして、EGL プロジェクト・フィーチャーを使用可能にする必要があります。
  1. 「プロジェクト・エクスプローラー」ビューでプロジェクト名を右クリックする。
  2. 「プロパティー」を選択する。
  3. 「プロパティー」ダイアログの左側で「EGL プロジェクト・フィーチャー」をクリックする。
  4. 「低レベル MQ API がサポートされている EGL (EGL with low-level MQ API support)」の隣のボックスにチェックを入れる。
  5. 「OK」をクリックする。

WebSphere MQ 再使用可能パーツ

EGL には、再使用可能パーツのセットがあります。再使用可能パーツ とは、WebSphere MQ API に対して直接呼び出しを行うために使用または変更することができる、 パラメーター、レコード、および関数です。 これらのパーツのソース・ファイル は、SDP70Shared¥plugins¥com.ibm.etools.egl.resources_version¥MqReusableParts ディレクトリーにあります。

MQI パラメーターは、データ項目またはレコードのいずれかです。MQSTATE および MQATTRIBUTES サンプル・レコードは、ほとんどのデータ項目パラメーターの宣言を含みます。

BUFFER パラメーター (MQGET、MQPUT、および MQPUT1 呼び出しで使用されるメッセージ・バッファー・パラメーター) および CHARATTRS (MQINQ および MQSET 呼び出しで使用される文字属性バッファー・パラメーター) は、1024 文字の長さでいずれも定義されます。 より大きいバッファーが必要なプログラムで MQSTATE を再利用する場合は、これらの項目の長さを増やします。

レコード・パラメーターのフォーマットのほか、特殊目的のメッセージおよびメッセージ・ヘッダーを定義するサンプル・レコードが用意されています。 レコード名は、COBOL 構造名と同じです。 レコードのデータ項目は、COBOL 構造の対応するフィールドと同じ名前になります。 ただし、COBOL 名はトークン区切り文字として、下線ではなくハイフン (-) を使用します。

次の表に、WebSphere MQ 直接呼び出しのサンプル・レコードの名前を示します。

表 1. WebSphere MQ 呼び出しのサンプル・レコード
レコード 説明 初期化指定子関数
MQBO オプションの開始 MQBO_INIT
MQCNO オプションの接続 MQCNO_INIT
MQDH 配布ヘッダー MQDH_INIT
MQDLH 送達不能ヘッダー MQDLH_INIT
MQGMO Get メッセージ・オプション・パラメーター MQGMO_INIT
MQINTATTRS 整数属性パラメーター MQINTATTRS_INIT
MQMD メッセージ記述子パラメーター MQMD_INIT
MQMD1 メッセージ記述子 (バージョン 1) MQMD1_INIT
MQMDE メッセージ記述子拡張子 MQMDE_INIT
MQOD オブジェクト記述子パラメーター MQOD_INIT
MQOR オブジェクト・レコード MQOR_INIT
MQPMO Put メッセージ・オプション構造 MQPMO_INIT
MQRMH メッセージ参照ヘッダー MQRMH_INIT
MQRR 応答レコード MQRR_INIT
MQSELECTORS 属性セレクター・パラメーター MQSELECTORS_INIT
MQTM トリガー・メッセージ構造 MQTM_INIT
MQTMC2 トリガー・メッセージ 2 (文字フォーマット) MQTMC2_INIT
MQXQH 送信キュー・ヘッダー MQXQH_INIT

次の表に、WebSphere MQ API 関数を呼び出すサンプル EGL 関数を示します。

表 2. WebSphere MQ API 関数を呼び出す EGL 関数
関数 説明
MQCONN メッセージ・キュー・マネージャーへの接続
MQCONNX 拡張接続
MQDISC メッセージ・キュー・マネージャーからの切断
MQOPEN メッセージ・キューのオープン
MQCLOSE メッセージ・キューのクローズ
MQGET キューからのメッセージの読み取り
MQPUT キューへのメッセージの書き込み
MQPUT1 キューのオープンおよびクローズを含む、単一メッセージの キューへの書き込み
MQINQ キュー属性の問い合わせ
MQSET キュー属性の設定
MQBEGIN 作業論理単位の開始
MQCMIT 作業論理単位のコミット
MQBACK 作業論理単位のバックアウト

フィードバック