インターフェース ChannelInterceptor
- すべての既知のサブインターフェース:
ExecutorChannelInterceptor
- すべての既知の実装クラス:
ImmutableMessageChannelInterceptor
public interface ChannelInterceptor
- 導入:
- 4.0
- 作成者:
- Mark Fisher, Rossen Stoyanchev
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明default void
afterReceiveCompletion
(Message<?> message, MessageChannel channel, ExceptionSE ex) 発生した例外に関係なく、受信の完了後に呼び出されるため、適切なリソースのクリーンアップが可能になります。default void
afterSendCompletion
(Message<?> message, MessageChannel channel, boolean sent, ExceptionSE ex) 発生した例外に関係なく、送信の完了後に呼び出され、適切なリソースクリーンアップが可能になります。default Message<?>
postReceive
(Message<?> message, MessageChannel channel) Message が取得された直後、呼び出し元に返される前に呼び出されます。default void
postSend
(Message<?> message, MessageChannel channel, boolean sent) 送信呼び出しの直後に呼び出されます。default boolean
preReceive
(MessageChannel channel) receive が呼び出されるとすぐに、Message が実際に取得される前に呼び出されます。default Message<?>
preSend
(Message<?> message, MessageChannel channel) メッセージが実際にチャネルに送信される前に呼び出されます。
メソッドの詳細
preSend
メッセージが実際にチャネルに送信される前に呼び出されます。これにより、必要に応じてメッセージを変更できます。このメソッドがnull
を返す場合、実際の送信呼び出しは行われません。postSend
送信呼び出しの直後に呼び出されます。ブール値の引数は、その呼び出しの戻り値を表します。afterSendCompletion
default void afterSendCompletion(Message<?> message, MessageChannel channel, boolean sent, @Nullable ExceptionSE ex) 発生した例外に関係なく、送信の完了後に呼び出され、適切なリソースクリーンアップが可能になります。これは、
preSend(org.springframework.messaging.Message<?>, org.springframework.messaging.MessageChannel)
が正常に完了してメッセージを返した場合、つまりnull
を返さなかった場合にのみ呼び出されることに注意してください。- 導入:
- 4.1
preReceive
receive が呼び出された直後に、メッセージが実際に取得される前に呼び出されます。戻り値が "false" の場合、メッセージは取得されません。これは PollableChannels にのみ適用されます。postReceive
Message が取得された直後、呼び出し元に返される前に呼び出されます。メッセージは必要に応じて変更できます。null
は、その後のインターセプターの呼び出しを中止します。これは PollableChannels にのみ適用されます。afterReceiveCompletion
default void afterReceiveCompletion(@Nullable Message<?> message, MessageChannel channel, @Nullable ExceptionSE ex) 発生した例外に関係なく、受信の完了後に呼び出されるため、適切なリソースのクリーンアップが可能になります。これは、
preReceive(org.springframework.messaging.MessageChannel)
が正常に完了し、true
を返した場合にのみ呼び出されることに注意してください。- 導入:
- 4.1