Error Handler サンプルの実行

Error Handler サンプルの実行は、メッセージ・フローに各メッセージを入れることからなります。 サンプルを実行すると、以下の状態でどのようなことが生じるかを理解できます。

詳しくは、Error Handler サンプルについてを参照してください。

セットアップ手順で説明されているとおりに DB2 および WebSphere MQ が構成されていない 場合は、サンプルの実行時にメッセージ・フローの別の作業単位を使用する際の影響を観察することはできません。 しかし、サンプルの他の特徴を調べることはできます。

Windows で Error Handler サンプルを実行している場合、以下の指示は、DB2 Universal Database のフル・バージョンを インストールしたことを想定しています。 ランチパッドで Express Installation 方式を使用して Cloudscape の ODBC ドライバーのみをインストールした 場合、DB2 Control Center は使用できず、これを使用して Error Handler サンプルのデータベース表における変更を 検査することはできません。

サンプルを実行する際、 「問題」ビューに「データベース表参照 T.CLASSTYPE が解決できません」というような エラー・メッセージが表示される場合があります。 この警告は、データベース表の定義がプロジェクトにインポートされていないことを示します。これは、実行時のサンプルの振る舞いには影響しません。

サンプルを実行するときに問題が発生する場合は、『サンプルの実行時に発生する問題の診断』を 参照してください。

有効スタッフ番号を含むメッセージを伴うサンプルの実行

有効スタッフ番号を含むメッセージを伴うサンプルを実行するには、次のようにします。

  1. Message Brokers Toolkit で、ブローカー・アプリケーション開発パースペクティブに切り替えます。
  2. 「リソース・ナビゲーター」ビューで、staffmsg.enqueue をダブルクリックします。 Enqueue エディターで、staffmsg.enqueue が開きます。 「ポート」フィールドに値 2414 が入力されていることを確認してください。
  3. Enqueue エディターで、「キューへ書き込み」をクリックします。 有効スタッフ番号を含むメッセージが STAFF_IN キューに入れられます。
  4. 次の結果を確認します。
    1. STAFFDB データベースの STAFF 表を表示します。表は、入力メッセージからのスタッフ情報で更新されています。
    2. STAFF_OUT キューから入力メッセージを取得します。入力メッセージは、その出力キューに書き込まれています。

無効スタッフ番号を含むメッセージを伴うサンプルの実行

無効スタッフ番号を含むメッセージを伴うサンプルを実行するには、次のようにします。

  1. Enqueue エディターで invalidstaffmsg.enqueue を開きます。 「ポート」フィールドに値 2414 が入力されていることを確認した後、「キューへ書き込み」をクリックします。
  2. 次の結果を確認します。
    1. ERRORDB データベースの ERRORS 表を表示します。ERRORS 表の MSGID と MSGDATA フィールドのデータは BLOB データ・タイプで、それは DB2 Control Center を使用してこのデータを表示できないことを意味します。しかし、DB2 コマンド行プロセッサーを使用するとこのデータを表示できます。
      1. コマンド行プロセッサーを始動します。
        • Windows では、「スタート」>「プログラム」>「IBM DB2」>「コマンド行ツール (Command Line Tools)」>「コマンド行プロセッサー」の順にクリックします。
        • Linux では、シェル・プロンプトで、DB2 インスタンスとして実行していることを確認して から、db2 と入力します。
      2. 以下のコマンドを入力します。

        connect to ERRORDB
        select * from ERRORS

      ERRORS 表のデータが表示されます。 表は、エラーの詳細情報で更新されています。

    2. STAFF_FAIL キューから入力メッセージを取得します。入力メッセージは、その障害の発生したキューに書き込まれています。

有効スタッフ番号および書き込み禁止キューを伴うサンプルの実行

有効スタッフ番号を含むメッセージを伴うものの、出力キューが書き込み禁止であるサンプルを実行するには、次のようにします。

  1. STAFF_OUT キューを書き込み禁止にします。
    1. WebSphere MQ Explorer で、WBRK6_DEFAULT_QUEUE_MANAGER キュー・マネージャーの「キュー」フォルダーを クリックして、キュー・マネージャーのキューを表示します。
    2. STAFF_OUT キューを右マウス・ボタン・クリックしてから、 「プロパティー」をクリックします。「プロパティー」ダイアログが表示されます。
    3. 「プロパティー」ダイアログの「メッセージの格納」 リストで「禁止 (Inhibited)」をクリックし、次に「OK」クリックします。
  2. Enqueue エディターで staffmsg.enqueue を開きます。 「ポート」フィールドに値 2414 が入力されていることを確認した後、「キューへ書き込み」をクリックします。 メッセージが STAFF_IN キューに書き込まれます。メッセージのスタッフ番号は有効であるため、メッセージは Update Staff Database ノードを通過します。しかし、このメッセージは STAFF_OUT キューには入れられないため、エラーが生成され、メッセージはロールバックされます。
  3. 次の結果を確認します。
    1. STAFFDB データベースの STAFF 表を表示します。データベース更新はロールバックされたため、表には新しい項目は存在しません。
    2. ERRORDB データベースの ERRORS 表を表示します。表は、エラーの詳細情報で更新されています。
    3. STAFF_FAIL キューから入力メッセージを取得します。入力メッセージは、その障害の発生したキューに書き込まれています。

メインページのアイコン   サンプルのホームに戻る