Class ServerEventDispatcherTask
- java.lang.Object
-
- org.silverpeas.core.thread.task.AbstractRequestTask<AbstractRequestTask.ProcessContext>
-
- org.silverpeas.core.notification.sse.ServerEventDispatcherTask
-
@Technical @Bean public class ServerEventDispatcherTask extends AbstractRequestTask<AbstractRequestTask.ProcessContext>
This task is in charge of dispatching server events without blocking the thread of the emitter.
Network implementation must callregisterContext(SilverpeasServerEventContext)
to be taken into account.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.silverpeas.core.thread.task.AbstractRequestTask
AbstractRequestTask.ProcessContext, AbstractRequestTask.Request<C>
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
dispatch(ServerEvent serverEventToDispatch)
Add a server event to dispatch.static Pair<Long,List<ServerEvent>>
getLastServerEventsFromId(long lastServerEventId)
Gets server events which the id is higher than the given one.static void
registerContext(SilverpeasServerEventContext context)
Register anSilverpeasServerEventContext
instance.
If the instance is already registered, nothing is again registered.static void
unregisterBySessionId(String sessionId)
Unregister anSilverpeasServerEventContext
instance.-
Methods inherited from class org.silverpeas.core.thread.task.AbstractRequestTask
afterNoMoreRequest, call, getProcessContext, getRequestQueueLimit, processRequest
-
-
-
-
Method Detail
-
unregisterBySessionId
public static void unregisterBySessionId(String sessionId)
Unregister anSilverpeasServerEventContext
instance.- Parameters:
sessionId
- an identifier od a session.
-
registerContext
public static void registerContext(SilverpeasServerEventContext context)
Register anSilverpeasServerEventContext
instance.
If the instance is already registered, nothing is again registered.- Parameters:
context
- the instance to register.
-
getLastServerEventsFromId
public static Pair<Long,List<ServerEvent>> getLastServerEventsFromId(long lastServerEventId)
Gets server events which the id is higher than the given one.- Parameters:
lastServerEventId
- the last identifier performed by the client.- Returns:
- the last server event identifier sent or the given one if nothing has been sent associated to a list of events to send.
-
dispatch
public static void dispatch(ServerEvent serverEventToDispatch)
Add a server event to dispatch.- Parameters:
serverEventToDispatch
- the server event to dispatch.
-
-