public class PerConnectionWebSocketHandler extends Object implements WebSocketHandler, BeanFactoryAware
WebSocketHandler that initializes and destroys a WebSocketHandler
 instance for each WebSocket connection and delegates all other methods to it.
 Essentially create an instance of this class once, providing the type of
 WebSocketHandler class to create for each connection, and then pass it to any
 API method that expects a WebSocketHandler.
 
If initializing the target WebSocketHandler type requires a Spring
 BeanFactory, then the setBeanFactory(BeanFactory) property accordingly. Simply
 declaring this class as a Spring bean will do that. Otherwise, WebSocketHandler
 instances of the target type will be created using the default constructor.
| Constructor and Description | 
|---|
| PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType) | 
| PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType,
                             boolean supportsPartialMessages) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | afterConnectionClosed(WebSocketSession session,
                     CloseStatus closeStatus)Invoked after the WebSocket connection has been closed by either side, or after a
 transport error has occurred. | 
| void | afterConnectionEstablished(WebSocketSession session)Invoked after WebSocket negotiation has succeeded and the WebSocket connection is
 opened and ready for use. | 
| void | handleMessage(WebSocketSession session,
             WebSocketMessage<?> message)Invoked when a new WebSocket message arrives. | 
| void | handleTransportError(WebSocketSession session,
                    Throwable exception)Handle an error from the underlying WebSocket message transport. | 
| void | setBeanFactory(BeanFactory beanFactory)Callback that supplies the owning factory to a bean instance. | 
| boolean | supportsPartialMessages()Whether the WebSocketHandler handles partial messages. | 
| String | toString() | 
public PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType)
public PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType, boolean supportsPartialMessages)
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAwareInvoked after the population of normal bean properties
 but before an initialization callback such as
 InitializingBean.afterPropertiesSet() or a custom init-method.
setBeanFactory in interface BeanFactoryAwarebeanFactory - owning BeanFactory (never null).
 The bean can immediately call methods on the factory.BeanInitializationExceptionpublic void afterConnectionEstablished(WebSocketSession session) throws Exception
WebSocketHandlerafterConnectionEstablished in interface WebSocketHandlerException - this method can handle or propagate exceptions; see class-level
 Javadoc for details.public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception
WebSocketHandlerhandleMessage in interface WebSocketHandlerException - this method can handle or propagate exceptions; see class-level
 Javadoc for details.public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception
WebSocketHandlerhandleTransportError in interface WebSocketHandlerException - this method can handle or propagate exceptions; see class-level
 Javadoc for details.public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception
WebSocketHandlerafterConnectionClosed in interface WebSocketHandlerException - this method can handle or propagate exceptions; see class-level
 Javadoc for details.public boolean supportsPartialMessages()
WebSocketHandlertrue and the underlying WebSocket server supports partial messages,
 then a large WebSocket message, or one of an unknown size may be split and
 maybe received over multiple calls to
 WebSocketHandler.handleMessage(WebSocketSession, WebSocketMessage). The flag
 WebSocketMessage.isLast() indicates if
 the message is partial and whether it is the last part.supportsPartialMessages in interface WebSocketHandler