メッセージ・フローのモニターを使用する方法については、以下のリンクを使用してください。
Web Service Aggregation サンプルで、ビジネス・データの一部分のフットプリントがモニターされます。 データのその部分がメッセージ・フローを通過したという証明が必要とされます。 以下の入力メッセージでの <PartNumber> データが追跡されます。 この場合、値は ABC1234 です。
すべての入力ノードおよび出力ノードでモニターされる各メッセージ・フローを介した進行を追跡するために、データのこの部分が使用されます。
ビジネス・データのこの部分のモニター・イベントをまとめて結合するために、モニターのセットアップでの親トランザクション ID として、このデータが使用されます。
サンプルでは、5 つのメッセージ・フローが使用され、WSAggregationFanOut.msgflow メッセージ・フローの SOAPInput ノードへ前の SOAP XML メッセージを書き込むことにより、そのサンプルが開始されます。
「イベント・ペイロード」では、ビジネス・データ PartNumber がモニターされることが指定されます。
「親トランザクション相関関係子」では、入力メッセージの PartNumber フィールドが指定されます。 ここと、モニターされる他のそれぞれのノードでフィールド参照を指定することにより、結果のイベントを検索して、ABC1234 と関係のある情報を探すことができます。
値 ABC1234 は Web Service Aggregation サンプル内の各ビジネス・メッセージ内にありますが、そのフィールド名は、必ずしも XPATH 式 $Root/SOAP/Body/ns:OrderMessage/localElement/PartNumber であるとは限りません。 ノードごとに正しい XPATH 値が指定されていることを確認する必要があります。
このメッセージ・フロー内のそれぞれの MQOutput ノードおよび他の 4 つのメッセージ・フロー内のすべての入出力ノードが同様に構成されます。
このサンプルのメッセージ・フローでブローカーのモニターを使用可能にするには、以下のコマンドを入力します。
mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationFanOut
mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationMQtoSOAP
mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationTargetWS
mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationSOAPtoMQ
mqsichangeflowmonitoring myBROKER -c active -e MyEG -f WSAggregationFanIn
ここで、myBROKER はブローカー名、MyEG は実行グループ名です。
これらのコマンドにより、モニター・イベントを処理するメッセージ・フロー (WSAggregationReadMonitordata.msgflow) 以外のすべてのメッセージ・フローのモニターが使用可能になります。
注: 実行グループ全体でのモニターを使用可能にしないでください。 また、WSAggregationReadMonitordata.msgflow メッセージ・フローで明示的にモニターを使用可能にしないでください。 そのようにすると、このフローが継続的にループになります。 これは、入力ノードが処理するメッセージごとに、入力ノードがモニター・イベントを発信するためです。 そして、そのイベントが同じメッセージ・フローによって読み取られ、別のイベントが生成されます。
モニターを使用不可にするには、以下のコマンドを入力します。
mqsichangeflowmonitoring myBROKER -c inactive -e MyEG -j
ここで、myBROKER はブローカー名、MyEG は実行グループ名です。
WebSphere MQ Explorer で、以下のトピック・ストリングを含むトピックを作成します。
$SYS/Broker/myBROKER/Monitoring/MyEG/#
ここで、myBROKER はブローカー名、MyEG は実行グループ名です。
WebSphere MQ Explorer で、ターゲットの宛先を指定し、既に作成されているトピックに対するサブスクリプションを作成します。
WSAGGREGATIONSAMPLE.MONITOR
以下の図では、パブリケーション・メッセージの例が示されています。 この例では、ブローカー名が BROKERV70L、実行グループ名が default です。
WSAggregationReadMonitordata.msgflow メッセージ・フローが WSAGGREGATIONSAMPLE.MONITOR キューからのモニター・データを処理します。 このキューは、MQInput ノードを使用して読み取られます。 MQInput ノードの Collector ノードのダウンストリームでは、相関 ID として、このビジネス・データ (親トランザクション ID) が指定されます。
属性 parentTransactionId で共通の値を持つ、すべてのモニター・イベント・メッセージが単一のコレクションにキャプチャーされるように、Collector ノードで相関パスが $Root/XMLNSC//@*[local-name()='parentTransactionId'] に設定されます。
ビジネス・データの一部分に関するすべてのイベントが読み取られると、要約メッセージが businessdata.xml ファイルに書き込まれます。 以下の図では、出力ファイル例である ABC1234.xml が示されています。