このバージョンはまだ開発中であり、まだ安定しているとは見なされていません。最新の安定バージョンについては、Spring Framework 6.2.2 を使用してください! |
シンプルなブローカー
組み込みのシンプルなメッセージブローカーは、クライアントからのサブスクリプションリクエストを処理し、メモリに保存し、一致する宛先を持つ接続されたクライアントにメッセージをブロードキャストします。ブローカーは、Ant スタイルの宛先パターンへのサブスクリプションを含む、パスのような宛先をサポートしています。
アプリケーションは、ドットで区切られた(スラッシュ区切りではなく)宛先を使用することもできます。セパレーターとしてのドットを参照してください。 |
タスクスケジューラが設定されている場合、シンプルブローカーは STOMP ハートビート (英語) をサポートします。スケジューラを設定するには、独自の TaskScheduler
Bean を宣言し、MessageBrokerRegistry
を通じて設定します。または、組み込みの WebSocket 構成で自動的に宣言されたものを使用することもできますが、組み込みの WebSocket 構成と WebSocketMessageBrokerConfigurer
間の循環を回避するために @Lazy
が必要になります。例:
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)
// ...
}
}