简单代理

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

		// ...
	}
}