WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

メッセージ・カタログの作成

独自のメッセージ・カタログを作成して、ローカル・エラー・ログに調整された項目を書き込みます。

何らかのエラーその他の状態のとき、 エラー・ログに情報を書き込んで、メッセージ・フロー内で生じている事柄を追跡できるようにすることを選択できます。 Throw および Trace 組み込みノードを使用してログ内に項目を生成するか、 または独自のノードとユーザー出口を作成して、独自のユーザー定義拡張機能から項目をログに書き込むことができます。

以下のメッセージのセットのどちらか、または両方を書き込むことができます。
  • 製品メッセージ・カタログ内に備わっている固定のメッセージのセット。 このセットは、Throw ノード用に数値の範囲 (BIP3001 から BIP3001) を提供し、 Trace ノード用に 2 番目の範囲 (BIP3051 から BIP3001) を提供します。 3 番目の範囲 (BIP2951 から BIP2999) は、ESQL ステートメントの LOG および THROW 用に提供されています。

    これらのメッセージを使用するとき、メッセージ・テキスト内に表示される追加のテキストも指定できます。

  • 独自のメッセージ・カタログ内に作成した独自のメッセージ。 この追加のカタログを使用して特殊なメッセージ内容を定義することができ、 メッセージを生成するコードによって判別される変数または挿入情報を組み込むことができます。 独自のメッセージ・カタログを、WebSphere® Message Broker に関連付けられていない他のアプリケーションと共用することもできます。

THROW ステートメントを使用して ESQL から例外をスローする場合は、現在のコンポーネントの名前が含まれる先頭の挿入部分が ESQL コードによって余分に追加されます。 ESQL スクリプトによって追加されるその他の挿入部分は、その先頭の挿入部分の後に続きます。 したがって、独自のメッセージ・カタログを記述する場合は、その挿入部分のことを考慮に入れる必要があります。

このトピックにある指示は、C プログラム用にメッセージ・カタログを作成する方法を説明しています。 Java™ リソース・バンドルを作成する場合は、Java 2 Platform, Standard Edition の資料を参照してください。

使用しているブローカーの作動システムに適したセクションを参照してください。

Windows メッセージ・ソースのビルドおよびインストール

Windows では、 追加のメッセージ・カタログを DLL ファイルとして作成する必要があります。 その DLL ファイルには、ご使用のアプリケーションが書き込むイベント・メッセージに基づき、 イベント・ビューアーが読み取り可能な形式で表示できるイベント・メッセージの定義が含まれます。 メッセージ・カタログをコンパイルすると、作成した各イベント・メッセージ番号のシンボル値を定義するヘッダー・ファイルが作成されます。 ご使用のアプリケーションに、そのヘッダー・ファイルを含める必要があります。

Windows イベント・ログ・サービスのイベント・ソースを作成するには、次のようにします。

  1. ご使用のイベント・メッセージのソースを使用して、 メッセージ・コンパイラー入力 (.mc) ファイルを作成します。 Microsoft Developer Network Web サイトを参照し、この入力ファイルのフォーマットの詳細について .mc file を検索してください。
  2. このメッセージ・ファイルをコンパイルして、リソース・コンパイラー入力ファイルを作成します。
    mc -v -w -s -h c:¥mymessages -r c:¥mymessages mymsg.mc

    ここで、c:¥mymessages は出力ファイルの場所で、mymsg.mc は入力ファイルの名前です。

    メッセージ・コンパイラーは出力ヘッダー (.h) ファイルを作成します。 このファイルには、入力 .mc ファイルにコード化された各メッセージ番号にマップされる #defines というシンボルが含まれます。 定義済みのイベント・メッセージに書き込むため、 ユーティリティー関数 (CciLog など) を使用するユーザー定義拡張機能のソース・ファイルをコンパイルする場合には、このヘッダー・ファイルを含めます。 ユーティリティー関数での messageNumber 引数は、 出力ヘッダー・ファイルにハッシュ定義された適切な値を使用しなければなりません。

  3. メッセージ・コンパイラーから出力ファイル (.rc) をコンパイルし、 次のコマンドを発行してリソース・ファイル (.res) を作成します。
    RC /v output_file.rc
  4. .res ファイルからリソース DLL ファイルを作成します。
    LINK /DLL /NOENTRY resource_file.res
  5. 次の例に示すように、リソース DLL ファイルの場所を MQSI_CONSOLE_NLSPATH 環境変数に追加します。
    set MQSI_CONSOLE_NLSPATH=%MQSI_CONSOLE_NLSPATH%;c:\messages
    これを行うには、作業ディレクトリーでカスタム環境スクリプトを作成してください。 デフォルト位置は、%ALLUSERSPROFILE%¥Application Data¥IBM¥MQSI¥common¥profiles です。%ALLUSERSPROFILE% は、システム作業ディレクトリーを定義する環境変数です。 デフォルトのディレクトリーは、オペレーティング・システムによって異なります。
    • Windows XP および Windows Server 2003 の場合: C:¥Documents and Settings¥All Users¥IBM¥MQSI¥common¥profiles
    • Windows Vista および Windows Server 2008 の場合: C:¥ProgramData¥IBM¥MQSI¥common¥profiles
    ご使用のコンピューターでは標準値を使用しない場合があります。%ALLUSERSPROFILE% を使用して、必ず正しい場所にアクセスしてください。
  6. 次のようにして、Windows イベント・ログ・サービスにイベント・ソースをインストールします。
    1. 次のようにして、Windows レジストリー・エディターを開始します。
      regedit
    2. 次のようにして、既存の構造の下に、ご使用のユーザー定義拡張機能用の新規レジストリー・サブキーを作成します。
      HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥EventLog¥Application

      「アプリケーション」を右クリックして、「新規」 > 「キー」を選択します。 新規キーが、アプリケーション・キー (WebSphere Message Broker キーの下ではない) の下に直ちに作成されます。 キーの名前は、 ユーザー定義拡張機能でユーティリティー関数の messageSource に指定した名前 (CciLog など) とするか、 またはメッセージ・フローに含めた組み込みノードのプロパティーとして指定した名前としなければなりません。

      このエントリーに次の値を作成します。

      EventMessageFile
      メッセージを含めるために作成した DLL ファイルの完全修飾パスが含まれるように、このストリングの値を設定してください。 このエントリーは、メッセージ・カタログを表しています。
      TypesSupported
      DWORD 値を "7" に設定します。

LinuxUNIX、 および z/OS のための XPG/4 カタログの作成

Linux システム、UNIX システム、 および z/OS® システムでは、メッセージは SYSLOG 機能に書き込まれます。 独自のメッセージ・カタログを使用する場合は、XPG/4 メッセージ・カタログを作成する必要があります。

メッセージ・カタログ (.cat ファイル) を作成するプロセスは、 それを作成するときのオペレーティング・システムによって異なります。 通常使用するコマンドは、gencat (メッセージ・カタログの作成または変更) および dspcat (メッセージ・カタログの全部または一部の表示) です。 gencat コマンドは、メッセージ・テキストを含むテキスト・ファイルをマージして、フォーマット済みカタログを作成または変更します。 テキスト・ファイルのファイル拡張子は、通常は .msg です。

メッセージ・カタログの場所を MQSI_CONSOLE_NLSPATH 環境変数に追加する必要があります。次の例に示すように、%L および %N を使用してロケールおよびカタログ名を表すことができます。
export MQSI_CONSOLE_NLSPATH=${MQSI_CONSOLE_NLSPATH}:${MY_INST_PATH}/messages/%L/%N:${MY_INST_PATH}/messages/En_US/%N
この例では、英語バージョンが検索パスの後方にハードコーディングされるので、 .cat ファイルが存在しないロケールであってもメッセージが表示されることが保証されます。
.msg ファイルで定義するメッセージには、 実行時に置換される変数を組み込むことができます。 そのような変数の形式は、{number} でなければなりません。 {number} は、中括弧で囲まれたメッセージ挿入番号です。 最初のメッセージ挿入の番号は 0 となります。次に例を示します。
1234 "MSG1234E: ¥ 
構文エラー。 ¥n 
値 '{0}' は、プロパティー '{1}' に対して無効です。¥n
訂正してからコマンドを再発行してください。¥n

カタログはバイナリーでエンコードされているために、 1 つのオペレーティング・システム上でメッセージ・カタログを作成した場合、それを別のオペレーティング・システムに移植することはできません。 ただし、同じ .msg ファイルを別のシステム上の gencat コマンドの入力として使用することはできます。

該当するオペレーティング・システムの資料で、関連する情報を参照してください。 以下に例を示します。

  • AIX platformAIX® の場合は、インフォメーション・センターの「コマンド解説書」を参照してください。
  • z/OS platformz/OS の場合は、z/OS V1R8.0 LibraryCenter の「UNIX システム・サービス コマンド解説書」を参照してください。

メッセージを米国英語以外のロケールで使用する場合、サポートされる追加の言語に関する情報を調べる必要もあります。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:01


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | as04521_