anchor.diff:  }
   ----
   
  -Send any Object as the payload and it will be serialized with a `MessageConverter`:
  +Once the session is established any payload can be sent and that will be
  +serialized with the configured `MessageConverter`:
    
   [source,java,indent=0]
   [subs="verbatim,quotes"]
  
positive.code: [[websocket-stomp-client]]
  === STOMP Client
  
  Spring provides STOMP/WebSocket client and STOMP/TCP client support with the
  following built-in choices (other libraries can be adapted):
  
  * `WebSocketStompClient` built on the Spring WebSocket API with
    support for standard JSR-356 WebSocket, Jetty 9, as well as SockJS
    for HTTP-based WebSocket emulation (see <<websocket-fallback-sockjs-client>>).
  * `Reactor11TcpStompClient` built on `NettyTcpClient` from the reactor-net project.
  
  To begin, create and configure the client:
  
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  ----
  WebSocketClient transport = new StandardWebSocketClient();
  WebSocketStompClient stompClient = new WebSocketStompClient(transport);
  stompClient.setMessageConverter(new StringMessageConverter());
  stompClient.setTaskScheduler(taskScheduler); // for heartbeats, receipts
  ----
  
  Then connect to the WebSocket and provide a handler for the STOMP session:
  
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  ----
  String url = "ws://127.0.0.1:8080/endpoint";
  StompSessionHandler handler = ... ;
  stompClient.connect(url, handler);
  ----
  
  When the session is ready for use, the handler is notified:
  
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  ----
  public class MySessionHandler extends StompSessionHandlerAdapter {
  
      @Override
      public void afterConnected(StompSession session, StompHeaders connectedHeaders) {
  
negative.code: });
  ----
  
  To enable STOMP heartbeat configure `WebSocketStompClient` with a `TaskScheduler`
  and optionally customize the heartbeat intervals, 10 seconds for write inactivity
  which causes a heartbeat to be sent and 10 seconds for read inactivity which
  closes the connection.
  
  [NOTE]
  ====
  When using `WebSocketStompClient` for performance tests to simulate thousands
  of clients from the same machine consider turning off heartbeats since each
  connection schedules its own heartbeat tasks and that's not optimized for a
  a large number of clients running on the same machine.
  ====
  
  
  The STOMP protocol also supports receipts where the client must add a "receipt"
  header to which the server responds with a RECEIPT frame after the send or
  