此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
简单经纪人
内置的 Simple Message Broker 处理来自客户端的订阅请求, 将它们存储在内存中,并将消息广播到具有匹配项的已连接客户端 目的地。代理支持类似路径的目标,包括订阅 更改为 Ant 样式的目标模式。
应用程序还可以使用点分隔(而不是斜杠分隔)的目标。 请参阅点作为分隔符。 |
如果配置了任务计划程序,则简单代理支持 STOMP 检测信号。
要配置调度程序,您可以声明自己的TaskScheduler
bean 并将其设置为
这MessageBrokerRegistry
.或者,您可以使用自动
但是,您需要@Lazy
避免
内置 WebSocket 配置和WebSocketMessageBrokerConfigurer
.例如:
-
Java
-
Kotlin
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration 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);
// ...
}
}
@Configuration
@EnableWebSocketMessageBroker
class WebSocketConfiguration : WebSocketMessageBrokerConfigurer {
private lateinit var messageBrokerTaskScheduler: TaskScheduler
@Autowired
fun setMessageBrokerTaskScheduler(@Lazy taskScheduler: TaskScheduler) {
this.messageBrokerTaskScheduler = taskScheduler
}
override fun configureMessageBroker(registry: MessageBrokerRegistry) {
registry.enableSimpleBroker("/queue/", "/topic/")
.setHeartbeatValue(longArrayOf(10000, 20000))
.setTaskScheduler(messageBrokerTaskScheduler)
// ...
}
}