简单代理
内置的简单消息代理处理来自客户端的订阅请求,将其存储在内存中,并向具有匹配目的地的连接客户端广播消息。该代理支持类似路径的目的地,包括对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);
// ...
}
}