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.Session
public String getNegotiatedSubprotocol()
getNegotiatedSubprotocol
in interface javax.websocket.Session
public javax.websocket.RemoteEndpoint.Async getAsyncRemote()
getAsyncRemote
in interface javax.websocket.Session
public javax.websocket.RemoteEndpoint.Basic getBasicRemote()
getBasicRemote
in interface javax.websocket.Session
public boolean isOpen()
isOpen
in interface javax.websocket.Session
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in interface javax.websocket.Session
IOException
public void close(javax.websocket.CloseReason closeReason) throws IOException
close
in interface javax.websocket.Session
IOException
public int getMaxBinaryMessageBufferSize()
getMaxBinaryMessageBufferSize
in interface javax.websocket.Session
public void setMaxBinaryMessageBufferSize(int maxBinaryMessageBufferSize)
setMaxBinaryMessageBufferSize
in interface javax.websocket.Session
public int getMaxTextMessageBufferSize()
getMaxTextMessageBufferSize
in interface javax.websocket.Session
public void setMaxTextMessageBufferSize(int maxTextMessageBufferSize)
setMaxTextMessageBufferSize
in interface javax.websocket.Session
public Set<javax.websocket.Session> getOpenSessions()
getOpenSessions
in interface javax.websocket.Session
public Set<RemoteSession> getRemoteSessions()
public Set<DistributedSession> getAllSessions()
remote
sessions (if any).RemoteSession
public List<javax.websocket.Extension> getNegotiatedExtensions()
getNegotiatedExtensions
in interface javax.websocket.Session
public long getMaxIdleTimeout()
getMaxIdleTimeout
in interface javax.websocket.Session
public void setMaxIdleTimeout(long maxIdleTimeout)
setMaxIdleTimeout
in interface javax.websocket.Session
public boolean isSecure()
isSecure
in interface javax.websocket.Session
public javax.websocket.WebSocketContainer getContainer()
getContainer
in interface javax.websocket.Session
public void addMessageHandler(javax.websocket.MessageHandler handler)
addMessageHandler(Class, javax.websocket.MessageHandler.Whole)
or addMessageHandler(Class, javax.websocket.MessageHandler.Partial)
addMessageHandler
in interface javax.websocket.Session
public <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.Session
clazz
- 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.Session
clazz
- 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.Session
public void removeMessageHandler(javax.websocket.MessageHandler handler)
removeMessageHandler
in interface javax.websocket.Session
public URI getRequestURI()
getRequestURI
in interface javax.websocket.Session
public Map<String,List<String>> getRequestParameterMap()
getRequestParameterMap
in interface javax.websocket.Session
public Map<String,String> getPathParameters()
getPathParameters
in interface javax.websocket.Session
public Map<String,Object> getUserProperties()
getUserProperties
in interface javax.websocket.Session
public Map<String,Object> getDistributedProperties()
DistributedSession
Serializable
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 DistributedSession
TyrusSession
,
RemoteSession
public String getQueryString()
getQueryString
in interface javax.websocket.Session
public String getId()
getId
in interface javax.websocket.Session
public Principal getUserPrincipal()
getUserPrincipal
in interface javax.websocket.Session
public 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-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.