インターフェース ExecutorChannelInterceptor
- すべてのスーパーインターフェース:
ChannelInterceptor
Executor
SE を介した特定のサブスクライバーへの Message
の非同期送信をインターセプトするコールバックを備えた ChannelInterceptor
の拡張。Executor
で構成できる MessageChannel
実装でサポートされます。- 導入:
- 4.1
- 作成者:
- Rossen Stoyanchev
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明default void
afterMessageHandled
(Message<?> message, MessageChannel channel, MessageHandler handler, ExceptionSE ex) 結果に関係なくターゲット MessageHandler を呼び出した後、Executor に送信されたRunnable
SE 内で呼び出されます(つまりdefault Message<?>
beforeHandle
(Message<?> message, MessageChannel channel, MessageHandler handler) ターゲット MessageHandler を呼び出してメッセージを処理する直前に、Executor に送信されたRunnable
SE 内で呼び出されます。インターフェース org.springframework.messaging.support.ChannelInterceptor から継承されたメソッド
afterReceiveCompletion, afterSendCompletion, postReceive, postSend, preReceive, preSend
メソッドの詳細
beforeHandle
@Nullable default Message<?> beforeHandle(Message<?> message, MessageChannel channel, MessageHandler handler) ターゲット MessageHandler を呼び出してメッセージを処理する直前にエグゼキューターに送信されたRunnable
SE 内で呼び出されます。必要に応じて、またはnull
が返されたときに MessageHandler が呼び出されない場合にメッセージを変更できます。- パラメーター:
message
- 処理するメッセージchannel
- メッセージの送信先のチャネルhandler
- メッセージを処理するターゲットハンドラー- 戻り値:
- 入力メッセージ、新しいインスタンス、
null
afterMessageHandled
default void afterMessageHandled(Message<?> message, MessageChannel channel, MessageHandler handler, @Nullable ExceptionSE ex) 結果(つまり、例外が発生したかどうか)に関係なく、ターゲット MessageHandler を呼び出した後にエグゼキューターに送信されたRunnable
SE 内で呼び出されるため、適切なリソースのクリーンアップが可能になります。これは、beforeHandle が正常に完了してメッセージを返した場合にのみ呼び出されることに注意してください。つまり、
null
を返さなかったことに注意してください。- パラメーター:
message
- 処理されたメッセージchannel
- メッセージの送信先のチャネルhandler
- メッセージを処理したターゲットハンドラーex
- ハンドラーによって発生した可能性のある例外