Interface IChannelInterceptor
Interface for interceptors that are able to view and/or modify the Messages being sent-to and/or received-from a MessageChannel
public interface IChannelInterceptor : IOrdered
- Inherited Members
Methods
AfterReceiveCompletion(IMessage, IMessageChannel, Exception)
Invoked after the completion of a receive regardless of any exception that have been raised thus allowing for proper resource cleanup.
void AfterReceiveCompletion(IMessage message, IMessageChannel channel, Exception exception)
Parameters
message
IMessagethe message being processed
channel
IMessageChannelthe channel the message is from
exception
Exceptionthe exception that may have occured; can be null
AfterSendCompletion(IMessage, IMessageChannel, bool, Exception)
Invoked after the completion of a send regardless of any exception that have been raised thus allowing for proper resource cleanup.
void AfterSendCompletion(IMessage message, IMessageChannel channel, bool sent, Exception exception)
Parameters
message
IMessagethe message being processed
channel
IMessageChannelthe channel the message for
sent
boolthe return value of the send
exception
Exceptionthe exception that may have occured; can be null
PostReceive(IMessage, IMessageChannel)
Invoked immediately after a Message has been retrieved but before it is returned to the caller.
IMessage PostReceive(IMessage message, IMessageChannel channel)
Parameters
message
IMessagethe message being processed
channel
IMessageChannelthe channel the message is from
Returns
- IMessage
the resulting message after post processing; can be null
PostSend(IMessage, IMessageChannel, bool)
Invoked immediately after the send invocation.
void PostSend(IMessage message, IMessageChannel channel, bool sent)
Parameters
message
IMessagethe message being processed
channel
IMessageChannelthe channel the message for
sent
boolthe return value of the send
PreReceive(IMessageChannel)
Invoked as soon as receive is called and before a Message is actually retrieved.
bool PreReceive(IMessageChannel channel)
Parameters
channel
IMessageChannelthe channel the message for
Returns
- bool
false if no receive should be done;
PreSend(IMessage, IMessageChannel)
Invoked before the Message is actually sent to the channel. This allows for modification of the Message if necessary.
IMessage PreSend(IMessage message, IMessageChannel channel)
Parameters
message
IMessagethe message being processed
channel
IMessageChannelthe channel the message for
Returns
- IMessage
the resulting message to send; can be null