@ApplicationScoped public class SocketSessionManager extends Object
This web socket session manager holds all web socket sessions by their channel identifier.
SocketEndpoint
Constructor and Description |
---|
SocketSessionManager() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
add(Session session)
On open, add given web socket session to the mapping associated with its channel identifier and returns
true if it's accepted (i.e. |
protected void |
deregister(Iterable<String> channelIds)
Deregister given channel identifiers and explicitly close all open web socket sessions associated with it.
|
protected void |
register(Iterable<String> channelIds)
Register given channel identifiers.
|
protected void |
register(String channelId)
Register given channel identifier.
|
protected void |
remove(Session session,
CloseReason reason)
On close, remove given web socket session from the mapping.
|
protected Set<Future<Void>> |
send(String channelId,
Object message)
Encode the given message object as JSON and send it to all open web socket sessions associated with given web
socket channel identifier.
|
protected void register(String channelId)
channelId
- The channel identifier to register.protected void register(Iterable<String> channelIds)
channelIds
- The channel identifiers to register.protected boolean add(Session session)
true
if it's accepted (i.e. the channel identifier is known) and the same session hasn't been added
before, otherwise false
.session
- The opened web socket session.true
if given web socket session is accepted and is new, otherwise false
.protected Set<Future<Void>> send(String channelId, Object message)
channelId
- The web socket channel identifier.message
- The push message object.null
on Future.get()
if the
message was successfully delivered and otherwise throw ExecutionException
.protected void remove(Session session, CloseReason reason)
session
- The closed web socket session.reason
- The close reason.Copyright © 2012–2020 OmniFaces. All rights reserved.