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