クラス ObservationPropagationChannelInterceptor

java.lang.ObjectSE
org.springframework.integration.channel.interceptor.ThreadStatePropagationChannelInterceptor<io.micrometer.observation.Observation>
org.springframework.integration.channel.interceptor.ObservationPropagationChannelInterceptor
実装されたすべてのインターフェース:
ChannelInterceptorExecutorChannelInterceptor

@DeprecatedSE(since="6.1.7", forRemoval=true) public class ObservationPropagationChannelInterceptor extends ThreadStatePropagationChannelInterceptor<io.micrometer.observation.Observation>
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
6.1.7 以降、チャネルとそのコンシューマーでの監視を可能にするために 6.4 で削除されました。
フローに含まれる MessageChannel を介して、あるメッセージフローのスレッドから別のメッセージフローのスレッドへの Observation 伝播を担当する ExecutorChannelInterceptor 実装。別のスレッドで新しい Observation.Scope を開き、最後にクリーンアップします。

NOTE: このインターセプターは、メッセージが受信側で消費される前に送信側で既存の観測が閉じられることが多いため、間違っていることが証明されています。このチャネルで sender 観測を行い、次にこのチャネルのサブスクライバーで receiver 観測を行う方が適切です。このようにして、トレース情報はこのチャネルを通過するメッセージヘッダーに格納されます。このようなアプローチにより、Observation が直列化できず、メッセージの一部としてデータベースに格納できないという永続メッセージチャネルの問題も解消されます。

導入:
6.0
作成者:
Artem Bilan
  • コンストラクターの詳細

    • ObservationPropagationChannelInterceptor

      public ObservationPropagationChannelInterceptor(io.micrometer.observation.ObservationRegistry observationRegistry)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
  • メソッドの詳細

    • obtainPropagatingContext

      @Nullable protected io.micrometer.observation.Observation obtainPropagatingContext(Message<?> message, MessageChannel channel)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      次で指定:
      クラス ThreadStatePropagationChannelInterceptor<io.micrometer.observation.Observation>obtainPropagatingContext 
    • populatePropagatedContext

      protected void populatePropagatedContext(@Nullable io.micrometer.observation.Observation state, Message<?> message, MessageChannel channel)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      次で指定:
      クラス ThreadStatePropagationChannelInterceptor<io.micrometer.observation.Observation>populatePropagatedContext 
    • afterMessageHandled

      public void afterMessageHandled(Message<?> message, MessageChannel channel, MessageHandler handler, ExceptionSE ex)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。