The MessageChannel Interface
Spring Integration 的顶级 MessageChannel 接口定义如下:
public interface MessageChannel {
boolean send(Message message);
boolean send(Message message, long timeout);
}
在发送消息时,如果消息已成功发送,则返回值为 true。如果 send 调用超时或被中断,则返回 false。
PollableChannel
因为消息通道可能缓冲或不缓冲消息(如 Spring Integration Overview 所述),所以两个子接口定义了缓冲(可轮询)和非缓冲(可订阅)通道行为。以下清单显示了 PollableChannel
接口的定义:
public interface PollableChannel extends MessageChannel {
Message<?> receive();
Message<?> receive(long timeout);
}
与 send 方法一样,在接收消息时,对于超时或中断,返回值为 null。