UNIX、 Linux 、および Windows での出口とインストール可能サービスの作成
UNIX、 Linux® 、および Windows上の IBM® MQ ライブラリーにリンクせずに、出口を作成してコンパイルすることができます。
本タスクについて
このトピックは、 UNIX, Linux, and Windows システムにのみ適用されます。 他のプラットフォームの場合の出口とインストール可能サービスの作成について詳しくは、該当するプラットフォーム固有のトピックを参照してください。
IBM MQ がデフォルト以外の場所にインストールされている場合は、 IBM MQ ライブラリーにリンクせずに、出口を作成してコンパイルする必要があります。
以下の IBM MQ ライブラリーをリンクせずに、 UNIX, Linux, and Windows システム上で出口を作成し、コンパイルすることができます。
- mqmzf
- mqm
- mqmvx
- mqmvxd
- mqic
- mqutl
手順
- cmqec.h ヘッダー・ファイルを組み込みます。このヘッダー・ファイルを組み込むと、cmqc.h、cmqxc.h、cmqzc.h の各ヘッダー・ファイルも自動的に組み込まれます。
- MQI 呼び出しと DCI 呼び出しが MQIEP 構造体を経由するようにして、出口を作成します。 MQIEP 構造体の詳細については、 MQIEP 構造体を参照してください。
- インストール可能サービス
- Hconfig パラメーターを使用して、MQZEP 呼び出しを参照します。
- Hconfig パラメーターを使用する前に、Hconfig の最初の 4 バイトが MQIEP 構造体の StrucId と一致することを確認してください。
- インストール可能サービス・コンポーネントの作成について詳しくは、 MQIEPを参照してください。
- API 出口
- Hconfig パラメーターを使用して、MQXEP 呼び出しを参照します。
- Hconfig パラメーターを使用する前に、Hconfig の最初の 4 バイトが MQIEP 構造体の StrucId と一致することを確認してください。
- API 出口の作成について詳しくは、 API 出口の作成を参照してください。
- チャネル出口
- MQCXP 構造体の pEntryPoints パラメーターを使用して、MQI 呼び出しと DCI 呼び出しを参照します。
- pEntryPoints を使用する前に、MQCXP のバージョン番号がバージョン 8 以上であることを確認してください。
- チャネル出口の作成について詳しくは、 チャネル出口プログラムの作成を参照してください。
- データ変換出口
- MQDXP 構造体の pEntryPoints パラメーターを使用して、MQI 呼び出しと DCI 呼び出しを参照します。
- pEntryPoints を使用する前に、MQDXP のバージョン番号がバージョン 2 以上であることを確認してください。
- crtmqcvx コマンドと amqsvfc0.c ソース・ファイルを使用して、pEntryPoints パラメーターを使用するデータ変換コードを作成できます。 Writing a data-conversion exit for IBM MQ for Windows および Writing a data-conversion exit for IBM MQ on UNIX and Linux systemsを参照してください。
- crtmqcvx コマンドを使用して生成した既存のデータ変換出口がある場合は、更新後のコマンドを使用して出口を再生成する必要があります。
- データ変換出口の作成について詳しくは、 データ変換出口の作成を参照してください。
- 事前接続出口
- MQNXP 構造体の pEntryPoints パラメーターを使用して、MQI 呼び出しと DCI 呼び出しを参照します。
- pEntryPoints を使用する前に、MQNXP のバージョン番号がバージョン 2 以上であることを確認してください。
- 接続前出口の作成について詳しくは、 リポジトリーからの接続前出口を使用した接続定義の参照を参照してください。
- パブリッシュ出口
- MQPSXP 構造体の pEntryPoints パラメーターを使用して、MQI 呼び出しと DCI 呼び出しを参照します。
- pEntryPoints を使用する前に、MQPSXP のバージョン番号がバージョン 2 以上であることを確認してください。
- パブリッシュ出口の作成について詳しくは、 パブリッシュ出口の作成およびコンパイルを参照してください。
- クラスター・ワークロード出口
- MQWXP 構造体の pEntryPoints パラメーターを使用して、MQXCLWLN 呼び出しを参照します。
- pEntryPoints を使用する前に、MQWXP のバージョン番号がバージョン 4 以上であることを確認してください。
- クラスター・ワークロード出口の作成について詳しくは、 クラスター・ワークロード出口の作成とコンパイルを参照してください。
MQPUT を呼び出すチャネル出口の例を以下に示します。pChannelExitParms -> pEntryPoints -> MQPUT_Call(pChannelExitParms -> Hconn, Hobj, &md, &pmo, messlen, buffer, &CompCode, &Reason);
その他の例については、 IBM MQ プロシージャー型サンプル・プログラムの使用を参照してください。 - インストール可能サービス
- 出口をコンパイルします。
- IBM MQ ライブラリーにリンクしません。
- 出口には、 IBM MQ ライブラリーへの組み込み RPath を含めないでください。
- 出口をコンパイルするための詳細については、以下のいずれかのトピックを参照してください。
- API 出口: API 出口のコンパイル。
- チャネル出口、パブリッシュ出口、クラスター・ワークロード出口: Windows、UNIX、および Linux システムでのチャネル出口プログラムのコンパイル。
- データ変換出口: データ変換出口の作成。
- 出口を以下のいずれかの場所に配置します。
- 出口の構成時に完全に修飾する任意のパス
- デフォルトの出口のパス。特定のインストール・ディレクトリーにあります。 例えば、 MQ_DATA_PATH/exits/installation2などです。
- デフォルトの出口のパスデフォルトの出口パスは、32 ビット出口の場合は MQ_DATA_PATH/exits で、64 ビット出口の場合は MQ_DATA_PATH/exits64 です。 qm.ini ファイルまたは mqclient.ini ファイルでこれらのパスを変更することもできます。 詳しくは、 出口パスを参照してください。 Windows および Linuxでは、 IBM MQ エクスプローラーを使用してパスを変更できます。
- キュー・マネージャー名を右クリックします。
- 「プロパティー ...」 をクリックします。
- 「出口」 をクリックします。
- 「出口デフォルト・パス」フィールドで、出口プログラムを保持するディレクトリーのパス名を指定します。
出口が特定のインストール・ディレクトリーとデフォルト・パス・ディレクトリーの両方に配置されている場合、パスに指定されている IBM MQ のインストールでは、特定のインストール・ディレクトリー出口が使用されます。 例えば、出口は /exits/installation2 と /exits に置かれますが、/exits/installation1 には置かれません。 IBM MQ インストール
installation2
では、 /exits/installation2の出口を使用します。 IBM MQ インストールinstallation1
では、 /exits ディレクトリーからの出口を使用します。 - 必要に応じて、出口を構成します。
- インストール可能サービス: サービスとコンポーネントの構成。
- API 出口: API 出口の構成。
- チャネル出口: チャネル出口の構成。
- パブリッシュ出口: パブリッシュ出口の構成。
- 事前接続出口: クライアント構成ファイルのPreConnect スタンザ。