[UNIX、Linux、Windows]

UNIXLinux 、および Windows での出口とインストール可能サービスの作成

UNIXLinux® 、および Windows上の IBM® MQ ライブラリーにリンクせずに、出口を作成してコンパイルすることができます。

本タスクについて

このトピックは、 UNIX, Linux, and Windows システムにのみ適用されます。 他のプラットフォームの場合の出口とインストール可能サービスの作成について詳しくは、該当するプラットフォーム固有のトピックを参照してください。

IBM MQ がデフォルト以外の場所にインストールされている場合は、 IBM MQ ライブラリーにリンクせずに、出口を作成してコンパイルする必要があります。

以下の IBM MQ ライブラリーをリンクせずに、 UNIX, Linux, and Windows システム上で出口を作成し、コンパイルすることができます。
  • mqmzf
  • mqm
  • mqmvx
  • mqmvxd
  • mqic
  • mqutl
これらのライブラリーにリンクされている既存の出口は、 UNIX and Linux システム IBM MQ がデフォルトの場所にインストールされていれば、引き続き機能します。

手順

  1. cmqec.h ヘッダー・ファイルを組み込みます。
    このヘッダー・ファイルを組み込むと、cmqc.h、cmqxc.h、cmqzc.h の各ヘッダー・ファイルも自動的に組み込まれます。
  2. 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 プロシージャー型サンプル・プログラムの使用を参照してください。
  3. 出口をコンパイルします。
  4. 出口を以下のいずれかの場所に配置します。
    • 出口の構成時に完全に修飾する任意のパス
    • デフォルトの出口のパス。特定のインストール・ディレクトリーにあります。 例えば、 MQ_DATA_PATH/exits/installation2などです。
    • デフォルトの出口のパス
      デフォルトの出口パスは、32 ビット出口の場合は MQ_DATA_PATH/exits で、64 ビット出口の場合は MQ_DATA_PATH/exits64 です。 qm.ini ファイルまたは mqclient.ini ファイルでこれらのパスを変更することもできます。 詳しくは、 出口パスを参照してください。 Windows および Linuxでは、 IBM MQ エクスプローラーを使用してパスを変更できます。
      1. キュー・マネージャー名を右クリックします。
      2. 「プロパティー ...」 をクリックします。
      3. 「出口」 をクリックします。
      4. 「出口デフォルト・パス」フィールドで、出口プログラムを保持するディレクトリーのパス名を指定します。

    出口が特定のインストール・ディレクトリーとデフォルト・パス・ディレクトリーの両方に配置されている場合、パスに指定されている IBM MQ のインストールでは、特定のインストール・ディレクトリー出口が使用されます。 例えば、出口は /exits/installation2/exits に置かれますが、/exits/installation1 には置かれません。 IBM MQ インストール installation2 では、 /exits/installation2の出口を使用します。 IBM MQ インストール installation1 では、 /exits ディレクトリーからの出口を使用します。

  5. 必要に応じて、出口を構成します。