Top Description Methods
jakarta.websocket.server

public Interface ServerContainer

extends WebSocketContainer
Imports
java.io.IOException, java.util.Map, jakarta.websocket.*

The ServerContainer is the specialized view of the WebSocketContainer available in server-side deployments. There is one ServerContainer instance per websocket application. The ServerContainer holds the methods to be able to register server endpoints.

For websocket enabled web containers, developers may obtain a reference to the ServerContainer instance by retrieving it as an attribute named jakarta.websocket.server.ServerContainer on the ServletContext. This way, the registration methods held on this interface may be called to register server endpoints from a ServletContextListener during the deployment of the WAR file containing the endpoint. Server endpoints may also be registered after the web application has started.

WebSocket implementations that run outside the web container may have other means by which to provide a ServerContainer instance to the developer at application deployment time.

Once the application deployment phase is complete, and the websocket application has begun accepting incoming connections, the registration methods may no longer be called.

Author
dannycoward

Method Summary

Modifier and TypeMethod and Description
public void
addEndpoint(Class<?>
the class of the annotated endpoint
endpointClass
)

Deploys the given annotated endpoint into this ServerContainer.

public void
addEndpoint(ServerEndpointConfig
the configuration instance representing the logical endpoint that will be registered.
serverConfig
)

Deploys the given endpoint described by the provided configuration into this ServerContainer.

public void
upgradeHttpToWebSocket(Object
The HttpServletRequest to be processed as a WebSocket handshake as per section 4.0 of RFC 6455.
httpServletRequest
,
Object
The HttpServletResponse to be used when processing the httpServletRequest as a WebSocket handshake as per section 4.0 of RFC 6455.
httpServletResponse
,
ServerEndpointConfig
The server endpoint configuration to use to configure the WebSocket endpoint
sec
,
Map<String, String>
Provides a mapping of path parameter names and values, if any, to be used for the WebSocket connection established by the call to this method. If no such mapping is defined, an empty Map must be passed.
pathParameters
)

Upgrade the HTTP connection represented by the HttpServletRequest and HttpServletResponse to the WebSocket protocol and establish a WebSocket connection as per the provided ServerEndpointConfig.

Inherited from jakarta.websocket.WebSocketContainer:
connectToServerconnectToServerconnectToServerconnectToServergetDefaultAsyncSendTimeoutgetDefaultMaxBinaryMessageBufferSizegetDefaultMaxSessionIdleTimeoutgetDefaultMaxTextMessageBufferSizegetInstalledExtensionssetAsyncSendTimeoutsetDefaultMaxBinaryMessageBufferSizesetDefaultMaxSessionIdleTimeoutsetDefaultMaxTextMessageBufferSize

Method Detail

addEndpointback to summary
public void addEndpoint(Class<?> endpointClass) throws DeploymentException

Deploys the given annotated endpoint into this ServerContainer.

Parameters
endpointClass:Class<?>

the class of the annotated endpoint

Exceptions
DeploymentException:
if the annotated endpoint was badly formed.
IllegalStateException:
if the containing websocket application has already been deployed.
addEndpointback to summary
public void addEndpoint(ServerEndpointConfig serverConfig) throws DeploymentException

Deploys the given endpoint described by the provided configuration into this ServerContainer.

Parameters
serverConfig:ServerEndpointConfig

the configuration instance representing the logical endpoint that will be registered.

Exceptions
DeploymentException:
if the endpoint was badly formed.
IllegalStateException:
if the containing websocket application has already been deployed.
upgradeHttpToWebSocketback to summary
public void upgradeHttpToWebSocket(Object httpServletRequest, Object httpServletResponse, ServerEndpointConfig sec, Map<String, String> pathParameters) throws IOException, DeploymentException

Upgrade the HTTP connection represented by the HttpServletRequest and HttpServletResponse to the WebSocket protocol and establish a WebSocket connection as per the provided ServerEndpointConfig.

This method is primarily intended to be used by frameworks that implement the front-controller pattern. It does not deploy the provided endpoint.

If the WebSocket implementation is not deployed as part of a Jakarta Servlet container, this method will throw an UnsupportedOperationException.

Parameters
httpServletRequest:Object

The HttpServletRequest to be processed as a WebSocket handshake as per section 4.0 of RFC 6455.

httpServletResponse:Object

The HttpServletResponse to be used when processing the httpServletRequest as a WebSocket handshake as per section 4.0 of RFC 6455.

sec:ServerEndpointConfig

The server endpoint configuration to use to configure the WebSocket endpoint

pathParameters:Map<String, String>

Provides a mapping of path parameter names and values, if any, to be used for the WebSocket connection established by the call to this method. If no such mapping is defined, an empty Map must be passed.

Exceptions
IOException:
if an I/O error occurs during the establishment of a WebSocket connection
DeploymentException:
if a configuration error prevents the establishment of a WebSocket connection
IllegalStateException:
if the provided request does not meet the requirements of the WebSocket handshake
UnsupportedOperationException:
if the WebSocket implementation is not deployed as part of a Jakarta Servlet container
Since
WebSocket 2.1