Class ServerEndpointRegistration
- java.lang.Object
- javax.websocket.server.ServerEndpointConfig.Configurator
- org.springframework.web.socket.server.standard.ServerEndpointRegistration
- All Implemented Interfaces:
EndpointConfig
,ServerEndpointConfig
,Aware
,BeanFactoryAware
public class ServerEndpointRegistration extends ServerEndpointConfig.Configurator implements ServerEndpointConfig, BeanFactoryAware
An implementation ofServerEndpointConfig
for use in Spring-based applications. AServerEndpointRegistration
bean is detected byServerEndpointExporter
and registered with a Java WebSocket runtime at startup.Class constructors accept a singleton
Endpoint
instance or an Endpoint specified by typeClass
. When specified by type, the endpoint will be instantiated and initialized through the Spring ApplicationContext before each client WebSocket connection.This class also extends
ServerEndpointConfig.Configurator
to make it easier to override methods for customizing the handshake process.- Since:
- 4.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- See Also:
ServerEndpointExporter
Nested Class Summary
Nested classes/interfaces inherited from interface javax.websocket.server.ServerEndpointConfig
ServerEndpointConfig.Builder, ServerEndpointConfig.Configurator
Constructor Summary
Constructors Constructor Description ServerEndpointRegistration(String path, Class<? extends Endpoint> endpointClass)
Create a newServerEndpointRegistration
instance from anjavax.websocket.Endpoint
class.ServerEndpointRegistration(String path, Endpoint endpoint)
Create a newServerEndpointRegistration
instance from anjavax.websocket.Endpoint
instance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerEndpointConfig.Configurator
getConfigurator()
List<Class<? extends Decoder>>
getDecoders()
List<Class<? extends Encoder>>
getEncoders()
Endpoint
getEndpoint()
Class<? extends Endpoint>
getEndpointClass()
<T> T
getEndpointInstance(Class<T> clazz)
List<Extension>
getExtensions()
String
getPath()
List<String>
getSubprotocols()
Map<String,Object>
getUserProperties()
void
modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response)
void
setBeanFactory(BeanFactory beanFactory)
Callback that supplies the owning factory to a bean instance.void
setDecoders(List<Class<? extends Decoder>> decoders)
void
setEncoders(List<Class<? extends Encoder>> encoders)
void
setExtensions(List<Extension> extensions)
void
setSubprotocols(List<String> subprotocols)
void
setUserProperties(Map<String,Object> userProperties)
String
toString()
Methods inherited from class javax.websocket.server.ServerEndpointConfig.Configurator
checkOrigin, getNegotiatedExtensions, getNegotiatedSubprotocol
Constructor Detail
ServerEndpointRegistration
public ServerEndpointRegistration(String path, Endpoint endpoint)
Create a newServerEndpointRegistration
instance from anjavax.websocket.Endpoint
instance.- Parameters:
path
- the endpoint pathendpoint
- the endpoint instance
ServerEndpointRegistration
public ServerEndpointRegistration(String path, Class<? extends Endpoint> endpointClass)
Create a newServerEndpointRegistration
instance from anjavax.websocket.Endpoint
class.- Parameters:
path
- the endpoint pathendpointClass
- the endpoint class
Method Detail
getPath
public String getPath()
- Specified by:
getPath
in interfaceServerEndpointConfig
getEndpointClass
public Class<? extends Endpoint> getEndpointClass()
- Specified by:
getEndpointClass
in interfaceServerEndpointConfig
getEndpoint
public Endpoint getEndpoint()
setSubprotocols
public void setSubprotocols(List<String> subprotocols)
getSubprotocols
public List<String> getSubprotocols()
- Specified by:
getSubprotocols
in interfaceServerEndpointConfig
setExtensions
public void setExtensions(List<Extension> extensions)
getExtensions
public List<Extension> getExtensions()
- Specified by:
getExtensions
in interfaceServerEndpointConfig
setEncoders
public void setEncoders(List<Class<? extends Encoder>> encoders)
getEncoders
public List<Class<? extends Encoder>> getEncoders()
- Specified by:
getEncoders
in interfaceEndpointConfig
setDecoders
public void setDecoders(List<Class<? extends Decoder>> decoders)
getDecoders
public List<Class<? extends Decoder>> getDecoders()
- Specified by:
getDecoders
in interfaceEndpointConfig
setUserProperties
public void setUserProperties(Map<String,Object> userProperties)
getUserProperties
public Map<String,Object> getUserProperties()
- Specified by:
getUserProperties
in interfaceEndpointConfig
getConfigurator
public ServerEndpointConfig.Configurator getConfigurator()
- Specified by:
getConfigurator
in interfaceServerEndpointConfig
getEndpointInstance
public final <T> T getEndpointInstance(Class<T> clazz) throws InstantiationException
- Overrides:
getEndpointInstance
in classServerEndpointConfig.Configurator
- Throws:
InstantiationException
modifyHandshake
public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response)
- Overrides:
modifyHandshake
in classServerEndpointConfig.Configurator
setBeanFactory
public void setBeanFactory(BeanFactory beanFactory)
Description copied from interface:BeanFactoryAware
Callback 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:
setBeanFactory
in interfaceBeanFactoryAware
- Parameters:
beanFactory
- owning BeanFactory (nevernull
). The bean can immediately call methods on the factory.- See Also:
BeanInitializationException