Once the session is closed, it is no longer valid for use by applications. Calling any of its methods (with the
exception of the close() methods) once the session has been closed will result in an
java. being thrown. Developers should retrieve any information from the session
during the Endpoint#onClose method. Following the convention of java. calling the Session
close() methods after the Session has been closed has no effect.
Session objects may be called by multiple threads. Implementations must ensure the integrity of the mutable properties of the session under such circumstances.
| Modifier and Type | Method and Description |
|---|---|
| public void | addMessageHandler(MessageHandler
the MessageHandler to be added. handler)Register to handle to incoming messages in this conversation. |
| public < type of message that the given handler is intended for. T> void | addMessageHandler(Class<T>
type of the message processed by message handler to be registered. clazz, MessageHandler.whole message handler to be added. handlerRegister to handle to incoming messages in this conversation. |
| public < type of message that the given handler is intended for. T> void | addMessageHandler(Class<T>
type of the message processed by message handler to be registered. clazz, MessageHandler.partial message handler to be added. handlerRegister to handle to incoming messages in this conversation. |
| public void | close()
Redeclares java. Close the current conversation with a normal status code and no reason phrase. |
| public void | close(CloseReason
the reason for the closure. closeReason)Close the current conversation, giving a reason for the closure. |
| public RemoteEndpoint. | Returns: the remote endpoint.Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages asynchronously to the peer. |
| public RemoteEndpoint. | Returns: the remote endpoint.Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages synchronously to the peer. |
| public WebSocketContainer | |
| public String | Returns: the unique identifier for this session instance.Returns a string containing the unique identifier assigned to this session. |
| public int | Returns: the maximum binary message size that can be buffered.The maximum length of incoming binary messages that this Session can buffer. |
| public long | Returns: the timeout in milliseconds.Return the number of milliseconds before this session will be closed by the container if it is inactive, i.e. no messages are either sent or received in that time. |
| public int | Returns: the maximum text message size that can be buffered.The maximum length of incoming text messages that this Session can buffer. |
| public Set | Returns: the set of message handlers.Return an unmodifiable copy of the set of MessageHandlers for this Session. |
| public List | Returns: the negotiated extensions.Return the list of extensions currently in use for this conversation. |
| public String | Returns: the negotiated subprotocol, or the empty string if there isn't one.Return the sub protocol agreed during the websocket handshake for this conversation. |
| public Set | Returns: the set of sessions, open at the time of return.Return a copy of the Set of all the open web socket sessions that represent connections to the same endpoint to which this session represents a connection. |
| public Map | Returns: the unmodifiable map of path parameters. The key of the map is the parameter name, the values in the map are the parameter values.Return a map of the path parameter names and values used associated with the request this session was opened under. |
| public String | Returns: the protocol version.Returns the version of the websocket protocol currently being used. |
| public String | Returns: the query stringReturn the query string associated with the request this session was opened under. |
| public Map | Returns: the unmodifiable map of the request parameters.Return the request parameters associated with the request this session was opened under. |
| public URI | Returns: the request URI.Return the complete URI under which this session was opened, from protocol to query string (if present). |
| public Principal | Returns: the user principal.Return the authenticated user for this Session or |
| public Map | Returns: an editable Map of application data.While the session is open, this method returns a Map that the developer may use to store application specific information relating to this session instance. |
| public boolean | Returns: whether the session is active.Return true if and only if the underlying socket is open. |
| public boolean | Returns: whether its using a secure transport.Return true if and only if the underlying socket is using a secure transport. |
| public void | removeMessageHandler(MessageHandler
the handler to be removed. handler)Remove the given MessageHandler from the set belonging to this session. |
| public void | setMaxBinaryMessageBufferSize(int
the maximum length. length)Sets the maximum length of incoming binary messages that this Session can buffer. |
| public void | setMaxIdleTimeout(long
the number of milliseconds. milliseconds)Set the number of milliseconds before this session will be closed by the container if it is inactive, i.e. no messages are either sent or received in that time. |
| public void | setMaxTextMessageBufferSize(int
the maximum length. length)Sets the maximum length of incoming text messages that this Session can buffer. |
| addMessageHandler | back to summary |
|---|---|
| public void addMessageHandler(MessageHandler handler) throws IllegalStateException Register to handle to incoming messages in this conversation. A maximum of one message handler per native
websocket message type (text, binary, pong) may be added to each Session. I.e. a maximum of one message handler
to handle incoming text messages a maximum of one message handler for handling incoming binary messages, and a
maximum of one for handling incoming pong messages. For further details of which message handlers handle which of
the native websocket message types please see
This method is not safe to use unless you are providing an anonymous class derived directly from
Once the container has identified a MessageHandler for a message, the MessageHandler is used for the entirety of the message irrespective of any subsequent changes to the MessageHandlers configured for the Session.
| |
| addMessageHandler | back to summary |
|---|---|
| public <T> void addMessageHandler(Class<T> clazz, MessageHandler. Register to handle to incoming messages in this conversation. A maximum of one message handler per native
websocket message type (text, binary, pong) may be added to each Session. I.e. a maximum of one message handler
to handle incoming text messages a maximum of one message handler for handling incoming binary messages, and a
maximum of one for handling incoming pong messages. For further details of which message handlers handle which of
the native websocket message types please see Once the container has identified a MessageHandler for a message, the MessageHandler is used for the entirety of the message irrespective of any subsequent changes to the MessageHandlers configured for the Session.
| |
| addMessageHandler | back to summary |
|---|---|
| public <T> void addMessageHandler(Class<T> clazz, MessageHandler. Register to handle to incoming messages in this conversation. A maximum of one message handler per native
websocket message type (text, binary, pong) may be added to each Session. I.e. a maximum of one message handler
to handle incoming text messages a maximum of one message handler for handling incoming binary messages, and a
maximum of one for handling incoming pong messages. For further details of which message handlers handle which of
the native websocket message types please see Once the container has identified a MessageHandler for a message, the MessageHandler is used for the entirety of the message irrespective of any subsequent changes to the MessageHandlers configured for the Session.
| |
| close | back to summary |
|---|---|
| public void close() throws IOException Redeclares java. Close the current conversation with a normal status code and no reason phrase.
| |
| close | back to summary |
|---|---|
| public void close(CloseReason closeReason) throws IOException Close the current conversation, giving a reason for the closure. The close call causes the implementation to
attempt notify the client of the close as soon as it can. This may cause the sending of unsent messages
immediately prior to the close notification. After the close notification has been sent the implementation
notifies the endpoint's onClose method. Note the websocket specification defines the acceptable uses of status
codes and reason phrases. If the application cannot determine a suitable close code to use for the closeReason,
it is recommended to use
| |
| getAsyncRemote | back to summary |
|---|---|
| public RemoteEndpoint. Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages asynchronously to the peer.
| |
| getBasicRemote | back to summary |
|---|---|
| public RemoteEndpoint. Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages synchronously to the peer.
| |
| getContainer | back to summary |
|---|---|
| public WebSocketContainer getContainer() Return the container that this session is part of.
| |
| getId | back to summary |
|---|---|
| public String getId() Returns a string containing the unique identifier assigned to this session. The identifier is assigned by the web socket implementation and is implementation dependent.
| |
| getMaxBinaryMessageBufferSize | back to summary |
|---|---|
| public int getMaxBinaryMessageBufferSize() The maximum length of incoming binary messages that this Session can buffer. If the implementation receives a
binary message that it cannot buffer because it is too large, it must close the session with a close code of
| |
| getMaxIdleTimeout | back to summary |
|---|---|
| public long getMaxIdleTimeout() Return the number of milliseconds before this session will be closed by the container if it is inactive, i.e. no messages are either sent or received in that time. A value that is zero or negative indicates that this timeout will not be used.
| |
| getMaxTextMessageBufferSize | back to summary |
|---|---|
| public int getMaxTextMessageBufferSize() The maximum length of incoming text messages that this Session can buffer. If the implementation receives a text
message that it cannot buffer because it is too large, it must close the session with a close code of
| |
| getMessageHandlers | back to summary |
|---|---|
| public Set Return an unmodifiable copy of the set of MessageHandlers for this Session.
| |
| getNegotiatedExtensions | back to summary |
|---|---|
| public List Return the list of extensions currently in use for this conversation. | |
| getNegotiatedSubprotocol | back to summary |
|---|---|
| public String getNegotiatedSubprotocol() Return the sub protocol agreed during the websocket handshake for this conversation.
| |
| getOpenSessions | back to summary |
|---|---|
| public Set Return a copy of the Set of all the open web socket sessions that represent connections to the same endpoint to which this session represents a connection. The Set includes the session this method is called on. These sessions may not still be open at any point after the return of this method. For example, iterating over the set at a later time may yield one or more closed sessions. Developers should use session.isOpen() to check. | |
| getPathParameters | back to summary |
|---|---|
| public Map Return a map of the path parameter names and values used associated with the request this session was opened under. | |
| getProtocolVersion | back to summary |
|---|---|
| public String getProtocolVersion() Returns the version of the websocket protocol currently being used. This is taken as the value of the Sec-WebSocket-Version header used in the opening handshake. i.e. "13".
| |
| getQueryString | back to summary |
|---|---|
| public String getQueryString() Return the query string associated with the request this session was opened under.
| |
| getRequestParameterMap | back to summary |
|---|---|
| public Map Return the request parameters associated with the request this session was opened under. The request parameters will have been part of the HTTP upgrade request which is limited by RFC 6455 to only use the HTTP GET method. Therefore, the parameters in the returned Map will be a representation of the parameters contained in the query string. | |
| getRequestURI | back to summary |
|---|---|
| public URI getRequestURI() Return the complete URI under which this session was opened, from protocol to query string (if present). The URI
should be identical to the complete URI used for the HTTP request that was upgraded to WebSocket apart from the
protocol which should be changed to
| |
| getUserPrincipal | back to summary |
|---|---|
| public Principal getUserPrincipal() Return the authenticated user for this Session or
| |
| getUserProperties | back to summary |
|---|---|
| public Map While the session is open, this method returns a Map that the developer may use to store application specific information relating to this session instance. The developer may retrieve information from this Map at any time between the opening of the session and during the onClose() method. But outside that time, any information stored using this Map may no longer be kept by the container. Web socket applications running on distributed implementations of the web container should make any application specific objects stored here java.io.Serializable, or the object may not be recreated after a failover.
For server sessions, the initial contents of this Map must be a shallow copy of the user properties map returned
from
For client sessions, the initial contents of this Map must be a shallow copy of the user properties map returned
from | |
| isOpen | back to summary |
|---|---|
| public boolean isOpen() Return true if and only if the underlying socket is open.
| |
| isSecure | back to summary |
|---|---|
| public boolean isSecure() Return true if and only if the underlying socket is using a secure transport.
| |
| removeMessageHandler | back to summary |
|---|---|
| public void removeMessageHandler(MessageHandler handler) Remove the given MessageHandler from the set belonging to this session. This method may block if the given handler is processing a message until it is no longer in use. Once the container has identified a MessageHandler for a message, the MessageHandler is used for the entirety of the message irrespective of any subsequent changes to the MessageHandlers configured for the Session.
| |
| setMaxBinaryMessageBufferSize | back to summary |
|---|---|
| public void setMaxBinaryMessageBufferSize(int length) Sets the maximum length of incoming binary messages that this Session can buffer.
| |
| setMaxIdleTimeout | back to summary |
|---|---|
| public void setMaxIdleTimeout(long milliseconds) Set the number of milliseconds before this session will be closed by the container if it is inactive, i.e. no messages are either sent or received in that time. A value that is zero or negative indicates that this timeout will not be used.
| |
| setMaxTextMessageBufferSize | back to summary |
|---|---|
| public void setMaxTextMessageBufferSize(int length) Sets the maximum length of incoming text messages that this Session can buffer.
| |