Spring Messaging
Spring Messaging

package org.springframework.messaging;
public interface Message<T> {
T getPayload();
MessageHeaders getHeaders();
}
消息通道

@FunctionalInterface
public interface MessageChannel {
long INDEFINITE_TIMEOUT = -1;
default boolean send(Message<?> message) {
return send(message, INDEFINITE_TIMEOUT);
}
boolean send(Message<?> message, long timeout);
}
消息消费
由消息通道的子接口可订阅的消息通道
public interface SubscribableChannel extends MessageChannel {
boolean subscribe(MessageHandler handler);
boolean unsubscribe(MessageHandler handler);
}
由
@FunctionalInterface
public interface MessageHandler {
void handleMessage(Message<?> message) throws MessagingException;
}
- 消息接收参数及返回值处理:消息接收参数处理器
HandlerMethodArgumentResolver 配合@Header, @Payload 等注解使用;消息接收后的返回值处理器HandlerMethodReturnValueHandler 配合@SendTo 注解使用; - 消息体内容转换器
MessageConverter ; - 统一抽象的消息发送模板
AbstractMessageSendingTemplate ; - 消息通道拦截器
ChannelInterceptor ;