From 42b4a2feefa643484b2c0b01ec23998a0b5499df Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 5 Jun 2018 12:14:57 -0400 Subject: [PATCH] Exapmle of configuring heartbeats for simple broker in docs Issue: SPR-16905 --- src/docs/asciidoc/web/websocket.adoc | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/docs/asciidoc/web/websocket.adoc b/src/docs/asciidoc/web/websocket.adoc index 2db3226fd5..9afab81b35 100644 --- a/src/docs/asciidoc/web/websocket.adoc +++ b/src/docs/asciidoc/web/websocket.adoc @@ -1397,6 +1397,37 @@ Applications can also use dot-separated destinations (vs slash). See <>. ==== +If configured with a task scheduler, the simple broker supports +https://stomp.github.io/stomp-specification-1.2.html#Heart-beating[STOMP heartbeats]. +For that you can declare your own scheduler, or use the one that's automatically +declared and used internally: + +[source,java,indent=0] +[subs="verbatim,quotes"] +---- +@Configuration +@EnableWebSocketMessageBroker +public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { + + private TaskScheduler messageBrokerTaskScheduler; + + @Autowired + public void setMessageBrokerTaskScheduler(TaskScheduler taskScheduler) { + this.messageBrokerTaskScheduler = taskScheduler; + } + + @Override + public void configureMessageBroker(MessageBrokerRegistry registry) { + + registry.enableSimpleBroker("/queue/", "/topic/") + .setHeartbeatValue(new long[] {10000, 20000}) + .setTaskScheduler(this.messageBrokerTaskScheduler); + + // ... + } +} +---- + [[websocket-stomp-handle-broker-relay]]