Class PerConnectionWebSocketHandler
java.lang.Object
org.springframework.web.socket.handler.PerConnectionWebSocketHandler
- All Implemented Interfaces:
- Aware,- BeanFactoryAware,- WebSocketHandler
public class PerConnectionWebSocketHandler
extends Object
implements WebSocketHandler, BeanFactoryAware
A 
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.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev
- 
Constructor SummaryConstructorsConstructorDescriptionPerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType) PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType, boolean supportsPartialMessages) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidafterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred.voidInvoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.voidhandleMessage(WebSocketSession session, WebSocketMessage<?> message) Invoked when a new WebSocket message arrives.voidhandleTransportError(WebSocketSession session, Throwable exception) Handle an error from the underlying WebSocket message transport.voidsetBeanFactory(BeanFactory beanFactory) Callback that supplies the owning factory to a bean instance.booleanWhether the WebSocketHandler handles partial messages.toString()
- 
Constructor Details- 
PerConnectionWebSocketHandler
- 
PerConnectionWebSocketHandlerpublic PerConnectionWebSocketHandler(Class<? extends WebSocketHandler> handlerType, boolean supportsPartialMessages) 
 
- 
- 
Method Details- 
setBeanFactoryDescription copied from interface:BeanFactoryAwareCallback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
- setBeanFactoryin interface- BeanFactoryAware
- Parameters:
- beanFactory- owning BeanFactory (never- null). The bean can immediately call methods on the factory.
- See Also:
 
- 
afterConnectionEstablishedDescription copied from interface:WebSocketHandlerInvoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.- Specified by:
- afterConnectionEstablishedin interface- WebSocketHandler
- Throws:
- Exception- this method can handle or propagate exceptions; see class-level Javadoc for details.
 
- 
handleMessageDescription copied from interface:WebSocketHandlerInvoked when a new WebSocket message arrives.- Specified by:
- handleMessagein interface- WebSocketHandler
- Throws:
- Exception- this method can handle or propagate exceptions; see class-level Javadoc for details.
 
- 
handleTransportErrorDescription copied from interface:WebSocketHandlerHandle an error from the underlying WebSocket message transport.- Specified by:
- handleTransportErrorin interface- WebSocketHandler
- Throws:
- Exception- this method can handle or propagate exceptions; see class-level Javadoc for details.
 
- 
afterConnectionClosedpublic void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception Description copied from interface:WebSocketHandlerInvoked after the WebSocket connection has been closed by either side, or after a transport error has occurred. Although the session may technically still be open, depending on the underlying implementation, sending messages at this point is discouraged and most likely will not succeed.- Specified by:
- afterConnectionClosedin interface- WebSocketHandler
- Throws:
- Exception- this method can handle or propagate exceptions; see class-level Javadoc for details.
 
- 
supportsPartialMessagespublic boolean supportsPartialMessages()Description copied from interface:WebSocketHandlerWhether the WebSocketHandler handles partial messages. If this flag is set totrueand 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 toWebSocketHandler.handleMessage(WebSocketSession, WebSocketMessage). The flagWebSocketMessage.isLast()indicates if the message is partial and whether it is the last part.- Specified by:
- supportsPartialMessagesin interface- WebSocketHandler
 
- 
toString
 
-