モニター・アプリケーションは相関属性を使用して、同じビジネス・トランザクションに属するイベントを識別します。
ビジネス・トランザクションは以下のシナリオのいずれかになります。
イベントで使用可能な相関属性が 3 つ (ローカル相関関係子、親相関関係子、グローバル相関関係子) 用意されています。 相関属性の厳密な使用法は、要求に応じて異なります。 例えば、親アプリケーションは、そのトランザクション ID を (おそらくヘッダー内の) 子メッセージ・フローに渡すことができます。それにより、子メッセージ・フローはそれをイベント内で、親相関関係子として報告できます。
wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId
イベントを構成するときに、相関情報を指定できます。
イベントを構成するときに相関情報を指定しない場合、相関属性は使用されません。
相関情報を指定する場合は、使用する相関属性と、その値をどこから読み取るかを構成する必要があります。 通常は、相関情報を指定する必要があるのは、メッセージ・フローの最初のイベント・ソースに対してのみです。デフォルトで、後のイベント・ソースはすべて環境ツリーから同じ値を取得します。
環境ツリーのローカル相関関係子を再利用する場合は、「自動」を指定します。 まだローカル相関関係子が存在していない場合、新しい固有値が生成され、環境ツリー内に保存されます。
メッセージのロケーションに含まれている値を使用する場合は、メッセージ・ツリーに XPath を使用して相関関係子のロケーションを指定します。 指定されたロケーションが、このメッセージ・フローの呼び出しに固有な相関関係子値を含んでいることを確認してください。 抽出された値は、環境ツリーにローカル相関関係子として保存されます。
環境ツリーの親相関関係子を再利用する場合は、「自動」を指定します。 まだ親相関関係子が存在していない場合、親相関関係子は使用されません。
メッセージのロケーションに含まれている値を使用する場合は、メッセージ・ツリーに XPath を使用して相関関係子のロケーションを指定します。 指定されたロケーションが、その親相関関係子に適切な値を含んでいることを、確認してください。 抽出された値は、環境ツリーに親相関関係子として保存されます。
環境ツリーのグローバル相関関係子を再利用する場合は、「自動」を指定します。 まだグローバル相関関係子が存在していない場合、グローバル相関関係子は使用されません。
メッセージのロケーションに含まれている値を使用する場合は、メッセージ・ツリーに XPath を使用して相関関係子のロケーションを指定します。 指定されたロケーションが、そのグローバル相関関係子に適切な値を含んでいることを、確認してください。 抽出された値は、環境ツリーにグローバル相関関係子として保存されます。
以後のイベントによって使用される相関関係子値を保存するために使用される環境ツリー内のロケーションは、以下のとおりです。
Environment.Monitoring.EventCorrelation.localTransactionId
Environment.Monitoring.EventCorrelation.parentTransactionId
Environment.Monitoring.EventCorrelation.globalTransactionId
$Root/MQMD/MsgId
$Root/MQMD/CorrelId
$Root/JMSTransport/Transport_Folders/Header_Values/JMSMessageID
$Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID
$LocalEnvironment/Destination/HTTP/RequestIdentifier
$LocalEnvironment/Wildcard/WildcardMatch
同じ購入オーダーに属する要求と応答を相関させる必要があります。 そのためには、parentTransactionID を purchaseOrder 内のフィールドに設定します。 例えば purchaseOrderID で、これは要求と応答の両方で使用可能です。