public class CometConnectionManagerValve extends ValveBase implements HttpSessionListener, LifecycleListener
Implementation of a Valve that tracks Comet connections, and closes them when the associated session expires or the webapp is reloaded.
This Valve should be attached to a Context.
Lifecycle.SingleUse| Modifier and Type | Field and Description |
|---|---|
protected List<Request> |
cometRequests
List of current Comet connections.
|
protected String |
cometRequestsAttribute
Name of session attribute used to store list of comet connections.
|
protected static String |
info
The descriptive information related to this implementation.
|
asyncSupported, container, containerLog, next, smmserverAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT| Constructor and Description |
|---|
CometConnectionManagerValve() |
| Modifier and Type | Method and Description |
|---|---|
void |
event(Request request,
Response response,
CometEvent event)
Use events to update the connection state.
|
String |
getInfo()
Return descriptive information about this Valve implementation.
|
void |
invoke(Request request,
Response response)
Register requests for tracking, whenever needed.
|
void |
lifecycleEvent(LifecycleEvent event)
Acknowledge the occurrence of the specified event.
|
void |
sessionCreated(HttpSessionEvent se)
Notification that a session was created.
|
void |
sessionDestroyed(HttpSessionEvent se)
Notification that a session is about to be invalidated.
|
protected void |
startInternal()
Start this component and implement the requirements
of
LifecycleBase.startInternal(). |
protected void |
stopInternal()
Stop this component and implement the requirements
of
LifecycleBase.stopInternal(). |
backgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setContainer, setNext, toStringdestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregisteraddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopprotected static final String info
protected final String cometRequestsAttribute
protected void startInternal()
throws LifecycleException
LifecycleBase.startInternal().startInternal in class ValveBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedprotected void stopInternal()
throws LifecycleException
LifecycleBase.stopInternal().stopInternal in class ValveBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedpublic void lifecycleEvent(LifecycleEvent event)
LifecycleListenerlifecycleEvent in interface LifecycleListenerevent - LifecycleEvent that has occurredpublic String getInfo()
public void invoke(Request request, Response response) throws IOException, ServletException
invoke in interface Valveinvoke in class ValveBaserequest - The servlet request to be processedresponse - The servlet response to be createdIOException - if an input/output error occursServletException - if a servlet error occurspublic void event(Request request, Response response, CometEvent event) throws IOException, ServletException
event in interface Valveevent in class ValveBaserequest - The servlet request to be processedresponse - The servlet response to be createdevent - The Comet event to be processedIOException - if an input/output error occursServletException - if a servlet error occurspublic void sessionCreated(HttpSessionEvent se)
HttpSessionListenersessionCreated in interface HttpSessionListenerse - the notification eventpublic void sessionDestroyed(HttpSessionEvent se)
HttpSessionListenersessionDestroyed in interface HttpSessionListenerse - the notification eventCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.