ユーザー定義ノードのテスト

必要なリソースを作成してインストールしたら、ユーザー定義ノードをテストできます。

始める前に

以下のタスクを実行します。

  1. Eclipse プラグイン開発環境を有効にします。 このタスクについては、PDE ランタイム機能の使用可能化で説明しています。PDE とプラグイン開発パースペクティブの詳細は、PDE ガイド (PDE Guide)を参照してください。
  2. 「実行」 > 「実行」 > 「Runtime Workbench」をクリックして、新しいノードが含まれるワークベンチの新しいコピーを開始します。
  3. メッセージ・フロー・エディターを開きます。 ノード・パレットに、新しいノードが表示されます。
  4. ノードを含むメッセージ・フローを作成します。 この作業を完了する方法については、メッセージ・フロー・ノードの追加をガイダンスとしてお読みください。
  5. メッセージ・フローをブローカーにデプロイします。 このタスクについては、メッセージ・フロー・アプリケーションのデプロイで説明しています。
  6. フローを通過するようにテスト・メッセージを送信し、予想通りの結果になることを確認します (たとえば、メッセージがターゲット・キューに入れられる)。 テスト・メッセージをメッセージ・フローに送信するアプリケーションを作成する必要があるかもしれません。
  7. 用意されている診断ツールを使用して、ノードが動作しているかどうかを確認し、動作していない場合はその原因を判別します。
    1. 共通問題およびその解決方法の説明は、ユーザー定義拡張機能の問題の解決を参照してください。
    2. イベント・ログを確認します。 詳細は、イベント・ログ・エディターを参照してください。
    3. ノードからイベント・ログにエントリーを書き込みます。 詳しくは、ユーザー定義拡張機能からのイベント・ログの使用を参照してください。
    4. デバッグ・レベルでユーザー・トレースを開始します。 このタスクの完了方法について詳しくは、トレースの使用を参照してください。

      ユーザー・トレースから生成された以下のデバッグ・メッセージは、ユーザー定義ノードおよびパーサーの実行を理解するのに役立ちます。

      • BIP2233 および BIP2234: ユーザー定義拡張インプリメンテーション関数が呼び出される前後にトレースされたメッセージのペア。 これらのメッセージは、入力パラメーターと戻り値を報告します。

        これらのメッセージでは、「インプリメンテーション関数」は C インプリメンテーション関数または Java™ インプリメンテーション・メソッドのいずれかとして解釈できます。

      • BIP3904: ユーザー定義ノードの Java evaluate() メソッドを起動する前にトレースされるメッセージ。
      • BIP3905: ユーザー定義ノードの C cniEvaluate() インプリメンテーション関数 (CNI_VFT の iFpEvaluate メンバー) を呼び出す前にトレースされるメッセージ。
      • BIP4142: ユーザー定義のノード・ユーティリティー関数を起動する際にトレースされるデバッグ・メッセージ。ユーティリティー関数は、構文エレメントの状態を変更します。 cniSetElement* (* はその語幹を持つすべてのノード) で始まるすべてのユーティリティー関数が含まれます。
      • BIP4144 および BIP4145: 特定のインプリメンテーション関数でトレースされるメッセージのペア。ユーザー定義拡張機能でこれらを呼び出すと、メッセージ・ブローカーのオブジェクトの内部状態に変更を加えることができます。 可能なブローカー・オブジェクトとして、構文エレメント、ノード、およびパーサーがあります。

        これらのメッセージでは、「インプリメンテーション関数」は C インプリメンテーション関数または Java インプリメンテーション・メソッドのいずれかとして解釈できます。

      • BIP4146: ユーザー定義のパーサー・ユーティリティー関数を起動する際にトレースされるデバッグ・メッセージ。ユーティリティー関数は、構文エレメントの状態を変更します。 cpiSetElement (* はその語幹を持つすべてのノード) で始まるすべてのユーティリティー関数が含まれます。
      • BIP4147: ユーザー定義拡張機能が、ユーザー定義拡張機能ユーティリティー API 関数に、無効な入力オブジェクトを渡すときにトレースされるエラー・メッセージ。
      • BIP4148: ユーザー定義拡張機能がブローカーのオブジェクトに損傷を与えたときにトレースされるエラー・メッセージ。
      • BIP4149: ユーザー定義拡張機能が、ユーザー定義拡張機能ユーティリティー API 関数に、無効な入力データ・ポインターを渡すときにトレースされるエラー・メッセージ。
      • BIP4150: ユーザー定義拡張機能が、ユーザー定義拡張機能ユーティリティー API 関数に、無効な入力データを渡すときにトレースされるエラー・メッセージ。
      • BIP4151: cniGetAttribute2 または cniGetAttributeName2 で戻りコードが予期しない値に設定されている場合にトレースされる デバッグ・メッセージ。予想される値は、CCI_SUCCESS、CCI_ATTRIBUTE_UNKNOWN、 および CCI_BUFFER_TOO_SMALL です。それ以外の値はすべて、予期しない値です。
      • BIP4152: 以下の状況でトレースされるデバッグ・メッセージ。
        1. cniGetAttribute2 または cniGetAttributeName2 で 戻りコードが CCI_BUFFER_TOO_SMALL に設定されている場合。
        2. cniGetAttribute2 または cniGetAttributeName2 を、 サイズ・バッファーを訂正して再度呼び出す際に、戻りコードが CCI_BUFFER_TOO_SMALL に設定されている場合。
    5. メッセージ・フローに Trace ノードを追加し、生成される出力をチェックします。
    6. フロー・デバッガーを使用して、ノードを含むフローをデバッグします。 メッセージ・フロー・アプリケーションのテストとデバッグから開始します。

ノードが完全に正しく動作する場合は、新規ノードをメッセージ・フロー・エディターの通常のノード・パレットに追加します (ユーザー定義ノードのワークベンチ・プロジェクトのパッケージ化を参照)。 これを行うまで、新規ノードはローカル・システムのテスト・ワークベンチ・セッションでのみ使用可能です。

関連概念
ユーザー定義の入力ノード
ユーザー定義のメッセージ処理ノード
ユーザー定義の出力ノード
関連タスク
ユーザー定義拡張機能の開発
メッセージ・フロー・ノードの追加
メッセージ・フロー・アプリケーションのテストとデバッグ
ユーザー定義拡張機能の問題の解決
ユーザー定義ノードのワークベンチ・プロジェクトのパッケージ化
関連資料
イベント・ログ・エディター
Trace ノード
ユーザー定義拡張機能
C 言語ユーザー定義ノード API
C 言語ユーザー定義パーサー API
関連情報
Java ユーザー定義拡張 API
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:44:33

as04505_