[[websocket-stomp-handle-simple-broker]]
= Simple Broker

The built-in simple message broker handles subscription requests from clients,
stores them in memory, and broadcasts messages to connected clients that have matching
destinations. The broker supports path-like destinations, including subscriptions
to Ant-style destination patterns.

NOTE: Applications can also use dot-separated (rather than slash-separated) destinations.
See xref:web/websocket/stomp/destination-separator.adoc[Dots as Separators].

If configured with a task scheduler, the simple broker supports
https://stomp.github.io/stomp-specification-1.2.html#Heart-beating[STOMP heartbeats].
To configure a scheduler, you can declare your own `TaskScheduler` bean and set it through
the `MessageBrokerRegistry`. Alternatively, you can use the one that is automatically
declared in the built-in WebSocket configuration, however, you'll need `@Lazy` to avoid
a cycle between the built-in WebSocket configuration and your
`WebSocketMessageBrokerConfigurer`. For example:

include-code::./WebSocketConfiguration[tag=snippet,indent=0]
