org.springframework.messaging.simp.stomp

## Interface StompSessionHandler

All Superinterfaces:
  StompFrameHandler

All Known Implementing Classes:
  StompSessionHandlerAdapter

    public interface StompSessionHandler
    extends StompFrameHandler

A contract for client STOMP session lifecycle events including a callback when the session is established and notifications of transport or message handling failures.

This contract also extends `StompFrameHandler` in order to handle STOMP ERROR frames received from the broker.

Implementations of this interface should consider extending `StompSessionHandlerAdapter`.

Since:
  4.2
Author:
  Rossen Stoyanchev
See Also:
  `StompSessionHandlerAdapter`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `afterConnected(StompSession session, StompHeaders connectedHeaders)` Invoked when the session is ready to use, i.e.
`void` `handleException(StompSession session, StompCommand command, StompHeaders headers, byte[] payload, Throwable exception)` Handle any exception arising while processing a STOMP frame such as a failure to convert the payload or an unhandled exception in the application `StompFrameHandler`.
`void` `handleTransportError(StompSession session, Throwable exception)` Handle a low level transport error which could be an I/O error or a failure to encode or decode a STOMP message.

### Methods inherited from interface org.springframework.messaging.simp.stomp.StompFrameHandler

`getPayloadType, handleFrame`

### Method Detail

#### afterConnected

    void afterConnected(StompSession session,
                        StompHeaders connectedHeaders)

Invoked when the session is ready to use, i.e. after the underlying transport (TCP, WebSocket) is connected and a STOMP CONNECTED frame is received from the broker.

Parameters:
  `session` - the client STOMP session
  `connectedHeaders` - the STOMP CONNECTED frame headers

#### handleException

    void handleException(StompSession session,
                         @Nullable
                         StompCommand command,
                         StompHeaders headers,
                         byte[] payload,
                         Throwable exception)

Handle any exception arising while processing a STOMP frame such as a failure to convert the payload or an unhandled exception in the application `StompFrameHandler`.

Parameters:
  `session` - the client STOMP session
  `command` - the STOMP command of the frame
  `headers` - the headers
  `payload` - the raw payload
  `exception` - the exception

#### handleTransportError

    void handleTransportError(StompSession session,
                              Throwable exception)

Handle a low level transport error which could be an I/O error or a failure to encode or decode a STOMP message.

Note that `ConnectionLostException` will be passed into this method when the connection is lost rather than closed normally via `StompSession.disconnect()`.

Parameters:
  `session` - the client STOMP session
  `exception` - the exception that occurred