public class TyrusSession extends Object implements javax.websocket.Session, DistributedSession
Session.| Modifier and Type | Method and Description |
|---|---|
<T> void |
addMessageHandler(Class<T> clazz,
javax.websocket.MessageHandler.Partial<T> handler)
Register to handle to incoming messages in this conversation.
|
<T> void |
addMessageHandler(Class<T> clazz,
javax.websocket.MessageHandler.Whole<T> handler)
Register to handle to incoming messages in this conversation.
|
void |
addMessageHandler(javax.websocket.MessageHandler handler)
|
Map<javax.websocket.Session,Future<?>> |
broadcast(ByteBuffer message)
Broadcasts binary message to all connected clients, including remote sessions (if any).
|
Map<javax.websocket.Session,Future<?>> |
broadcast(String message)
Broadcasts text message to all connected clients.
|
void |
close() |
void |
close(javax.websocket.CloseReason closeReason) |
Set<DistributedSession> |
getAllSessions()
Get set of all sessions opened to the same endpoint.
|
javax.websocket.RemoteEndpoint.Async |
getAsyncRemote() |
javax.websocket.RemoteEndpoint.Basic |
getBasicRemote() |
javax.websocket.WebSocketContainer |
getContainer() |
Map<String,Object> |
getDistributedProperties()
Get distributed properties.
|
long |
getHeartbeatInterval()
Return an interval in milliseconds between scheduled periodic Pong messages.
|
String |
getId() |
int |
getMaxBinaryMessageBufferSize() |
long |
getMaxIdleTimeout() |
int |
getMaxTextMessageBufferSize() |
Set<javax.websocket.MessageHandler> |
getMessageHandlers() |
List<javax.websocket.Extension> |
getNegotiatedExtensions() |
String |
getNegotiatedSubprotocol() |
Set<javax.websocket.Session> |
getOpenSessions() |
Map<String,String> |
getPathParameters() |
String |
getProtocolVersion() |
String |
getQueryString() |
String |
getRemoteAddr()
Get the Internet Protocol (IP) address of the client or last proxy that sent the request.
|
Set<RemoteSession> |
getRemoteSessions()
Get set of remote sessions.
|
Map<String,List<String>> |
getRequestParameterMap() |
URI |
getRequestURI() |
Principal |
getUserPrincipal() |
Map<String,Object> |
getUserProperties() |
boolean |
isOpen() |
boolean |
isSecure() |
void |
removeMessageHandler(javax.websocket.MessageHandler handler) |
void |
setHeartbeatInterval(long heartbeatInterval)
Set an interval in milliseconds between scheduled periodic Pong messages.
|
void |
setMaxBinaryMessageBufferSize(int maxBinaryMessageBufferSize) |
void |
setMaxIdleTimeout(long maxIdleTimeout) |
void |
setMaxTextMessageBufferSize(int maxTextMessageBufferSize) |
String |
toString() |
public String getProtocolVersion()
getProtocolVersion in interface javax.websocket.Sessionpublic String getNegotiatedSubprotocol()
getNegotiatedSubprotocol in interface javax.websocket.Sessionpublic javax.websocket.RemoteEndpoint.Async getAsyncRemote()
getAsyncRemote in interface javax.websocket.Sessionpublic javax.websocket.RemoteEndpoint.Basic getBasicRemote()
getBasicRemote in interface javax.websocket.Sessionpublic boolean isOpen()
isOpen in interface javax.websocket.Sessionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in interface javax.websocket.SessionIOExceptionpublic void close(javax.websocket.CloseReason closeReason)
throws IOException
close in interface javax.websocket.SessionIOExceptionpublic int getMaxBinaryMessageBufferSize()
getMaxBinaryMessageBufferSize in interface javax.websocket.Sessionpublic void setMaxBinaryMessageBufferSize(int maxBinaryMessageBufferSize)
setMaxBinaryMessageBufferSize in interface javax.websocket.Sessionpublic int getMaxTextMessageBufferSize()
getMaxTextMessageBufferSize in interface javax.websocket.Sessionpublic void setMaxTextMessageBufferSize(int maxTextMessageBufferSize)
setMaxTextMessageBufferSize in interface javax.websocket.Sessionpublic Set<javax.websocket.Session> getOpenSessions()
getOpenSessions in interface javax.websocket.Sessionpublic Set<RemoteSession> getRemoteSessions()
public Set<DistributedSession> getAllSessions()
remote sessions (if any).RemoteSessionpublic List<javax.websocket.Extension> getNegotiatedExtensions()
getNegotiatedExtensions in interface javax.websocket.Sessionpublic long getMaxIdleTimeout()
getMaxIdleTimeout in interface javax.websocket.Sessionpublic void setMaxIdleTimeout(long maxIdleTimeout)
setMaxIdleTimeout in interface javax.websocket.Sessionpublic boolean isSecure()
isSecure in interface javax.websocket.Sessionpublic javax.websocket.WebSocketContainer getContainer()
getContainer in interface javax.websocket.Sessionpublic void addMessageHandler(javax.websocket.MessageHandler handler)
addMessageHandler(Class, javax.websocket.MessageHandler.Whole) or addMessageHandler(Class, javax.websocket.MessageHandler.Partial)addMessageHandler in interface javax.websocket.Sessionpublic <T> void addMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Whole<T> handler)
MessageHandler.Whole and MessageHandler.Partial.
Adding more than one of any one type will result in a runtime exception.
See Endpoint for a usage example.
addMessageHandler in interface javax.websocket.Sessionclazz - type of the message processed by message handler to be registered.handler - the MessageHandler to be added.IllegalStateException - if there is already a MessageHandler registered for the same native
websocket message type as this handler.public <T> void addMessageHandler(Class<T> clazz, javax.websocket.MessageHandler.Partial<T> handler)
MessageHandler.Whole and MessageHandler.Partial.
Adding more than one of any one type will result in a runtime exception.
See Endpoint for a usage example.
addMessageHandler in interface javax.websocket.Sessionclazz - type of the message processed by message handler to be registered.handler - the MessageHandler to be added.IllegalStateException - if there is already a MessageHandler registered for the same native
websocket message type as this handler.public Set<javax.websocket.MessageHandler> getMessageHandlers()
getMessageHandlers in interface javax.websocket.Sessionpublic void removeMessageHandler(javax.websocket.MessageHandler handler)
removeMessageHandler in interface javax.websocket.Sessionpublic URI getRequestURI()
getRequestURI in interface javax.websocket.Sessionpublic Map<String,List<String>> getRequestParameterMap()
getRequestParameterMap in interface javax.websocket.Sessionpublic Map<String,String> getPathParameters()
getPathParameters in interface javax.websocket.Sessionpublic Map<String,Object> getUserProperties()
getUserProperties in interface javax.websocket.Sessionpublic Map<String,Object> getDistributedProperties()
DistributedSessionSerializable or serializable by other, implementation-dependent
alternative.
Content of this map is synchronized among all cluster nodes, so putting an entry on any of the nodes will be
visible on all other nodes which have reference to current session (in form of TyrusSession or RemoteSession).
Please note that when not running in the distributed environment, this map behaves similarly to Session.getUserProperties(), so no serialization or deserialization is performed when values are read from or stored to
the returned map.getDistributedProperties in interface DistributedSessionTyrusSession,
RemoteSessionpublic String getQueryString()
getQueryString in interface javax.websocket.Sessionpublic String getId()
getId in interface javax.websocket.Sessionpublic Principal getUserPrincipal()
getUserPrincipal in interface javax.websocket.Sessionpublic Map<javax.websocket.Session,Future<?>> broadcast(String message)
TyrusWebSocketEngine.PARALLEL_BROADCAST_ENABLED
to true in server properties.message - message to be broadcasted.public Map<javax.websocket.Session,Future<?>> broadcast(ByteBuffer message)
TyrusWebSocketEngine.PARALLEL_BROADCAST_ENABLED
to true in server properties.message - message to be broadcasted.public long getHeartbeatInterval()
public void setHeartbeatInterval(long heartbeatInterval)
heartbeatInterval - interval between periodic Pong messages in milliseconds.Copyright © 2012–2019 Oracle Corporation. All rights reserved.