OrderedMessageSender

Submit messages to an {@link ExecutorSubscribableChannel}, one at a time. The channel must have been configured with {@link #configureOutboundChannel}.

@author Rossen Stoyanchev @since 5.1

Constructors

this
this(MessageChannel channel)
Undocumented in source.

Members

Functions

send
bool send(MessageBase message, long timeout)
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

configureOutboundChannel
void configureOutboundChannel(MessageChannel channel, bool preservePublishOrder)

Install or remove an {@link ExecutorChannelInterceptor} that invokes a completion task once the message is handled. @param channel the channel to configure @param preservePublishOrder whether preserve order is on or off based on which an interceptor is either added or removed.

Variables

COMPLETION_TASK_HEADER
enum string COMPLETION_TASK_HEADER;
Undocumented in source.

Inherited Members

From MessageChannel

INDEFINITE_TIMEOUT
enum long INDEFINITE_TIMEOUT;

Constant for sending a message without a prescribed timeout.

send
bool send(MessageBase message)

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
bool send(MessageBase message, long timeout)

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

Meta