Package org.springframework.messaging
Interface MessageChannel
- All Known Subinterfaces:
PollableChannel,SubscribableChannel
- All Known Implementing Classes:
AbstractMessageChannel,AbstractSubscribableChannel,ExecutorSubscribableChannel
public interface MessageChannel
Defines methods for sending messages.- Since:
- 4.0
- Author:
- Mark Fisher
Field Summary
Fields Modifier and Type Field Description static longINDEFINITE_TIMEOUTConstant for sending a message without a prescribed timeout.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleansend(Message<?> message)Send aMessageto this channel.booleansend(Message<?> message, long timeout)Send a message, blocking until either the message is accepted or the specified timeout period elapses.
Field Detail
INDEFINITE_TIMEOUT
static final long INDEFINITE_TIMEOUT
Constant for sending a message without a prescribed timeout.- See Also:
- Constant Field Values
Method Detail
send
boolean send(Message<?> message)
Send aMessageto this channel. If the message is sent successfully, the method returnstrue. If the message cannot be sent due to a non-fatal reason, the method returnsfalse. The method may also throw a RuntimeException in case of non-recoverable errors.This method may block indefinitely, depending on the implementation. To provide a maximum wait time, use
send(Message, long).- Parameters:
message- the message to send- Returns:
- whether or not the message was sent
send
boolean send(Message<?> message, long timeout)
Send a message, blocking until either the message is accepted or the specified timeout period elapses.- Parameters:
message- the message to sendtimeout- the timeout in milliseconds orINDEFINITE_TIMEOUT- Returns:
trueif the message is sent,falseif not including a timeout of an interrupt of the send