接口 ChannelInterceptor
- 所有已知子接口:
ExecutorChannelInterceptor
public interface ChannelInterceptor
Interface for interceptors that are able to view and/or modify theMessages
being sent-to and/or received-from aMessageChannel
.- 从以下版本开始:
- 4.0
- 作者:
- Mark Fisher, Rossen Stoyanchev
- 另请参阅:
Message
,MessageChannel
方法概要
所有方法 实例方法 默认方法 修饰符和类型 方法 说明 default void
afterReceiveCompletion(Message<?> message, MessageChannel channel, Exception ex)
Invoked after the completion of a receive regardless of any exception that have been raised thus allowing for proper resource cleanup.default void
afterSendCompletion(Message<?> message, MessageChannel channel, boolean sent, Exception ex)
Invoked after the completion of a send regardless of any exception that have been raised thus allowing for proper resource cleanup.default Message<?>
postReceive(Message<?> message, MessageChannel channel)
Invoked immediately after a Message has been retrieved but before it is returned to the caller.default void
postSend(Message<?> message, MessageChannel channel, boolean sent)
Invoked immediately after the send invocation.default boolean
preReceive(MessageChannel channel)
Invoked as soon as receive is called and before a Message is actually retrieved.default Message<?>
preSend(Message<?> message, MessageChannel channel)
Invoked before the Message is actually sent to the channel.
方法详细资料
preSend
@Nullable default Message<?> preSend(Message<?> message, MessageChannel channel)
Invoked before the Message is actually sent to the channel. This allows for modification of the Message if necessary. If this method returnsnull
then the actual send invocation will not occur.
postSend
default void postSend(Message<?> message, MessageChannel channel, boolean sent)
Invoked immediately after the send invocation. The boolean value argument represents the return value of that invocation.
afterSendCompletion
default void afterSendCompletion(Message<?> message, MessageChannel channel, boolean sent, @Nullable Exception ex)
Invoked after the completion of a send regardless of any exception that have been raised thus allowing for proper resource cleanup.Note that this will be invoked only if
preSend(org.springframework.messaging.Message<?>, org.springframework.messaging.MessageChannel)
successfully completed and returned a Message, i.e. it did not returnnull
.- 从以下版本开始:
- 4.1
preReceive
default boolean preReceive(MessageChannel channel)
Invoked as soon as receive is called and before a Message is actually retrieved. If the return value is 'false', then no Message will be retrieved. This only applies to PollableChannels.
postReceive
@Nullable default Message<?> postReceive(Message<?> message, MessageChannel channel)
Invoked immediately after a Message has been retrieved but before it is returned to the caller. The Message may be modified if necessary;null
aborts further interceptor invocations. This only applies to PollableChannels.
afterReceiveCompletion
default void afterReceiveCompletion(@Nullable Message<?> message, MessageChannel channel, @Nullable Exception ex)
Invoked after the completion of a receive regardless of any exception that have been raised thus allowing for proper resource cleanup.Note that this will be invoked only if
preReceive(org.springframework.messaging.MessageChannel)
successfully completed and returnedtrue
.- 从以下版本开始:
- 4.1