インターフェース ExecutorChannelInterceptor

すべてのスーパーインターフェース:
ChannelInterceptor

public interface ExecutorChannelInterceptor extends ChannelInterceptor
ExecutorSE を介した特定のサブスクライバーへの Message の非同期送信をインターセプトするコールバックを備えた ChannelInterceptor の拡張。Executor で構成できる MessageChannel 実装でサポートされます。
導入:
4.1
作成者:
Rossen Stoyanchev
関連事項:
  • メソッドの詳細

    • beforeHandle

      @Nullable default Message<?> beforeHandle(Message<?> message, MessageChannel channel, MessageHandler handler)
      ターゲット MessageHandler を呼び出してメッセージを処理する直前にエグゼキューターに送信された RunnableSE 内で呼び出されます。必要に応じて、または null が返されたときに MessageHandler が呼び出されない場合にメッセージを変更できます。
      パラメーター:
      message - 処理するメッセージ
      channel - メッセージの送信先のチャネル
      handler - メッセージを処理するターゲットハンドラー
      戻り値:
      入力メッセージ、新しいインスタンス、null
    • afterMessageHandled

      default void afterMessageHandled(Message<?> message, MessageChannel channel, MessageHandler handler, @Nullable ExceptionSE ex)
      結果(つまり、例外が発生したかどうか)に関係なく、ターゲット MessageHandler を呼び出した後にエグゼキューターに送信された RunnableSE 内で呼び出されるため、適切なリソースのクリーンアップが可能になります。

      これは、beforeHandle が正常に完了してメッセージを返した場合、つまり null を返さなかった場合にのみ呼び出されることに注意してください。

      パラメーター:
      message - 処理されたメッセージ
      channel - メッセージの送信先のチャネル
      handler - メッセージを処理したターゲットハンドラー
      ex - ハンドラーによって発生した可能性のある例外