Error Handler サンプルの実行
Error Handler サンプルを実行するには、メッセージ・フローを通じて各メッセージを書き込む必要があります。サンプルを実行すると、以下の状態でどのようなことが生じるかを理解できます。
- 入力メッセージに有効なスタッフ番号が含まれる。
- 入力メッセージに無効なスタッフ番号が含まれる。
- 入力メッセージに有効なスタッフ番号が含まれるが、出力キュー STAFF_OUT および STAFF_FAIL は書き込み禁止である。
詳しくは、Error Handler サンプルについてを参照してください。
セットアップ手順(Error Handler サンプルのセットアップ参照) で説明されているとおりにデータベースおよび WebSphere MQ が構成されていない場合は、サンプルの実行時にメッセージ・フローの別の作業単位を使用する際の影響を観察することはできません。
しかし、サンプルの他の特徴を調べることはできます。
サンプルを実行する際、
「問題」ビューに「データベース表参照 T.CLASSTYPE が解決できません」というような
エラー・メッセージが表示される場合があります。
この警告は、データベース表の定義がプロジェクトにインポートされていないことを示します。
しかし、実行時のサンプルの振る舞いには影響しません。
サンプルの実行時に問題を検出した場合は、
WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。
有効スタッフ番号を含むメッセージを伴うサンプルの実行
有効スタッフ番号を含むメッセージを伴うサンプルを実行するには、次のようにします。
- 「ブローカー開発」ビューで、staffmsg.mbtest をダブルクリックします。
staffmsg.mbtest ファイルがテスト・クライアントに開きます。
- テスト・クライアントで、「エンキュー」をクリックします。
- 「メッセージの送信」をクリックします。有効スタッフ番号を含むメッセージが STAFF_IN キューに入れられます。
- STAFFDB データベースの STAFF 表を表示します。表は、入力メッセージからのスタッフ情報で更新されています。
- テスト・クライアントで「デキュー」をクリックします。
- 「メッセージの取得」をクリックして、STAFF_OUT キューから入力メッセージを取得します。入力メッセージは、その出力キューに書き込まれています。
無効スタッフ番号を含むメッセージを伴うサンプルの実行
無効スタッフ番号を含むメッセージを伴うサンプルを実行するには、次のようにします。
- テスト・クライアントで invalidstaffmsg.mbtest を開き、「エンキュー」をクリックします。
- 「メッセージの送信」をクリックします。
- 結果を参照します。
STAFF_UPDATE_ERROR キューにあるメッセージを確認します。
- テスト・クライアントで「デキュー」をクリックします。
- STAFF_FAIL キューから入力メッセージを取得するには、「メッセージの取得」をクリックします。入力メッセージは、その障害の発生したキューに書き込まれています。
有効スタッフ番号および書き込み禁止キューを伴うサンプルの実行
有効スタッフ番号を含むメッセージを伴うものの、出力キューが書き込み禁止であるサンプルを実行するには、次のようにします。
- STAFF_OUT キューを書き込み禁止にします。
- WebSphere MQ Explorer で、MB8QMGR キュー・マネージャーのキューを表示するため、MB8QMGR キュー・マネージャーの「キュー」フォルダーをクリックします。
- STAFF_OUT キューを右クリックしてから、
「プロパティー」をクリックします。「プロパティー」ウィンドウが表示されます。
- 「プロパティー」ウィンドウの「メッセージの格納」 リストで「禁止
(Inhibited)」をクリックし、次に「OK」クリックします。
- STAFF_FAIL キューに関して、これを繰り返します。
- テスト・クライアントで、staffmsg.mbtest を開き、「メッセージの送信」をクリックします。メッセージが STAFF_IN キューに書き込まれます。
メッセージのスタッフ番号は有効であるため、メッセージは Update Staff Database ノードを通過します。
しかし、このメッセージは STAFF_OUT または STAFF_FAIL キューには入れられないため、エラーが生成され、メッセージはロールバックされます。
- 以下の結果を参照します。
- STAFFDB データベースの STAFF 表を表示します。
データベース更新はロールバックされたため、表は未変更です。
- STAFF_UPDATE_ERRORS キューを見て、エラーの原因となったメッセージを確認します。
サンプルのホームに戻る