Class WsServerContainer
- java.lang.Object
-
- org.apache.tomcat.websocket.WsWebSocketContainer
-
- org.apache.tomcat.websocket.server.WsServerContainer
-
- All Implemented Interfaces:
ServerContainer
,WebSocketContainer
,BackgroundProcess
public class WsServerContainer extends WsWebSocketContainer implements ServerContainer
Provides a per class loader (i.e. per web application) instance of a ServerContainer. Web application wide defaults may be configured by setting the following servlet context initialisation parameters to the desired values.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEndpoint(java.lang.Class<?> pojo)
Provides the equivalent ofaddEndpoint(ServerEndpointConfig)
for publishing plain old java objects (POJOs) that have been annotated as WebSocket endpoints.void
addEndpoint(ServerEndpointConfig sec)
Published the provided endpoint implementation at the specified path with the specified configuration.void
closeAuthenticatedSession(java.lang.String httpSessionId)
void
doUpgrade(HttpServletRequest request, HttpServletResponse response, ServerEndpointConfig sec, java.util.Map<java.lang.String,java.lang.String> pathParams)
Until the WebSocket specification provides such a mechanism, this Tomcat proprietary method is provided to enable applications to programmatically determine whether or not to upgrade an individual request to WebSocket.org.apache.tomcat.websocket.server.WsMappingResult
findMapping(java.lang.String path)
protected WsWriteTimeout
getTimeout()
boolean
isEnforceNoAddAfterHandshake()
protected void
registerSession(java.lang.Object key, WsSession wsSession)
Overridden to make it visible to other classes in this package.void
setEnforceNoAddAfterHandshake(boolean enforceNoAddAfterHandshake)
protected void
unregisterSession(java.lang.Object key, WsSession wsSession)
Overridden to make it visible to other classes in this package.-
Methods inherited from class org.apache.tomcat.websocket.WsWebSocketContainer
backgroundProcess, connectToServer, connectToServer, connectToServer, connectToServer, destroy, getDefaultAsyncSendTimeout, getDefaultMaxBinaryMessageBufferSize, getDefaultMaxSessionIdleTimeout, getDefaultMaxTextMessageBufferSize, getInstalledExtensions, getProcessPeriod, setAsyncSendTimeout, setDefaultMaxBinaryMessageBufferSize, setDefaultMaxSessionIdleTimeout, setDefaultMaxTextMessageBufferSize, setInstanceManager, setProcessPeriod
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.websocket.WebSocketContainer
connectToServer, connectToServer, connectToServer, connectToServer, getDefaultAsyncSendTimeout, getDefaultMaxBinaryMessageBufferSize, getDefaultMaxSessionIdleTimeout, getDefaultMaxTextMessageBufferSize, getInstalledExtensions, setAsyncSendTimeout, setDefaultMaxBinaryMessageBufferSize, setDefaultMaxSessionIdleTimeout, setDefaultMaxTextMessageBufferSize
-
-
-
-
Method Detail
-
addEndpoint
public void addEndpoint(ServerEndpointConfig sec) throws DeploymentException
Published the provided endpoint implementation at the specified path with the specified configuration.WsServerContainer(ServletContext)
must be called before calling this method.- Specified by:
addEndpoint
in interfaceServerContainer
- Parameters:
sec
- The configuration to use when creating endpoint instances- Throws:
DeploymentException
- if the endpoint cannot be published as requested
-
addEndpoint
public void addEndpoint(java.lang.Class<?> pojo) throws DeploymentException
Provides the equivalent ofaddEndpoint(ServerEndpointConfig)
for publishing plain old java objects (POJOs) that have been annotated as WebSocket endpoints.- Specified by:
addEndpoint
in interfaceServerContainer
- Parameters:
pojo
- The annotated POJO- Throws:
DeploymentException
-
doUpgrade
public void doUpgrade(HttpServletRequest request, HttpServletResponse response, ServerEndpointConfig sec, java.util.Map<java.lang.String,java.lang.String> pathParams) throws ServletException, java.io.IOException
Until the WebSocket specification provides such a mechanism, this Tomcat proprietary method is provided to enable applications to programmatically determine whether or not to upgrade an individual request to WebSocket.Note: This method is not used by Tomcat but is used directly by third-party code and must not be removed.
- Parameters:
request
- The request object to be upgradedresponse
- The response object to be populated with the result of the upgradesec
- The server endpoint to use to process the upgrade requestpathParams
- The path parameters associated with the upgrade request- Throws:
ServletException
- If a configuration error prevents the upgrade from taking placejava.io.IOException
- If an I/O error occurs during the upgrade process
-
findMapping
public org.apache.tomcat.websocket.server.WsMappingResult findMapping(java.lang.String path)
-
isEnforceNoAddAfterHandshake
public boolean isEnforceNoAddAfterHandshake()
-
setEnforceNoAddAfterHandshake
public void setEnforceNoAddAfterHandshake(boolean enforceNoAddAfterHandshake)
-
getTimeout
protected WsWriteTimeout getTimeout()
-
registerSession
protected void registerSession(java.lang.Object key, WsSession wsSession)
Overridden to make it visible to other classes in this package.- Overrides:
registerSession
in classWsWebSocketContainer
-
unregisterSession
protected void unregisterSession(java.lang.Object key, WsSession wsSession)
Overridden to make it visible to other classes in this package.- Overrides:
unregisterSession
in classWsWebSocketContainer
-
closeAuthenticatedSession
public void closeAuthenticatedSession(java.lang.String httpSessionId)
-
-