此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1! |
MessageChannel 接口
Spring Integration 的顶级MessageChannel
接口定义如下:
public interface MessageChannel {
boolean send(Message message);
boolean send(Message message, long timeout);
}
发送消息时,返回值为true
如果消息发送成功。
如果发送调用超时或中断,则返回false
.
PollableChannel
由于消息通道可能会也可能不会缓冲消息(如 Spring Integration Overview 中所述),因此两个子接口定义了缓冲(可轮询)和非缓冲(可订阅)通道行为。
以下列表显示了PollableChannel
接口:
public interface PollableChannel extends MessageChannel {
Message<?> receive();
Message<?> receive(long timeout);
}
与发送方法一样,在接收消息时,在超时或中断的情况下返回值为空。
SubscribableChannel
这SubscribableChannel
基本接口由直接向其订阅的通道发送消息的通道实现MessageHandler
实例。
因此,它们不提供轮询的接收方法。
相反,它们定义了管理这些订阅者的方法。
以下列表显示了SubscribableChannel
接口:
public interface SubscribableChannel extends MessageChannel {
boolean subscribe(MessageHandler handler);
boolean unsubscribe(MessageHandler handler);
}