|
对于最新的稳定版本,请使用 Spring Framework 7.0.6! |
简单代理
内置的简单消息代理处理来自客户端的订阅请求,将其存储在内存中,并向具有匹配目标的已连接客户端广播消息。该代理支持类似路径的目标,包括对 Ant 风格目标模式的订阅。
| 应用程序也可以使用点分隔(而不是斜杠分隔)的目标。 查看 使用点作为分隔符。 |
如果配置了任务调度器,简单代理支持
STOMP心跳。
要配置调度器,您可以声明自己的 TaskScheduler bean 并通过
MessageBrokerRegistry 进行设置。或者,您可以使用在内置WebSocket配置中自动声明的那个,但是,您需要 @Lazy 以避免内置WebSocket配置和您的
WebSocketMessageBrokerConfigurer 之间的循环。例如:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
private TaskScheduler messageBrokerTaskScheduler;
@Autowired
public void setMessageBrokerTaskScheduler(@Lazy TaskScheduler taskScheduler) {
this.messageBrokerTaskScheduler = taskScheduler;
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/queue/", "/topic/")
.setHeartbeatValue(new long[] {10000, 20000})
.setTaskScheduler(this.messageBrokerTaskScheduler);
// ...
}
}