Assists with the invocation of the configured channel interceptors.
Return the bean name for this message channel.
A message channel uses the bean name primarily for logging purposes.
Constant for sending a message without a prescribed timeout.
Send a {@link Message} to this channel. If the message is sent successfully, the method returns {@code true}. If the message cannot be sent due to a non-fatal reason, the method returns {@code false}. The method may also throw a RuntimeException in case of non-recoverable errors. <p>This method may block indefinitely, depending on the implementation. To provide a maximum wait time, use {@link #send(Message, long)}. @param message the message to send @return whether or not the message was sent
Send a message, blocking until either the message is accepted or the specified timeout period elapses. @param message the message to send @param timeout the timeout in milliseconds or {@link #INDEFINITE_TIMEOUT} @return {@code true} if the message is sent, {@code false} if not including a timeout of an interrupt of the send
Set the list of channel interceptors clearing any existing interceptors.
Add a channel interceptor to the end of the list.
Add a channel interceptor at the specified index.
Return the list of configured interceptors.
Remove the given interceptor.
Remove the interceptor at the given index.
Abstract base class for {@link MessageChannel} implementations.
@author Rossen Stoyanchev @since 4.0