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.
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.
|
asyncSupported, container, containerLog, next, sm
mserver
AFTER_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.
|
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, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop
protected final String cometRequestsAttribute
protected void startInternal() throws LifecycleException
LifecycleBase.startInternal()
.startInternal
in class ValveBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedprotected void stopInternal() throws LifecycleException
LifecycleBase.stopInternal()
.stopInternal
in class ValveBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedpublic void lifecycleEvent(LifecycleEvent event)
LifecycleListener
lifecycleEvent
in interface LifecycleListener
event
- LifecycleEvent that has occurredpublic void invoke(Request request, Response response) throws IOException, ServletException
invoke
in interface Valve
invoke
in class ValveBase
request
- 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 Valve
event
in class ValveBase
request
- The servlet request to be processedresponse
- The servlet response to be createdIOException
- if an input/output error occursServletException
- if a servlet error occurspublic void sessionCreated(HttpSessionEvent se)
javax.servlet.http.HttpSessionListener
sessionCreated
in interface HttpSessionListener
se
- the notification eventpublic void sessionDestroyed(HttpSessionEvent se)
javax.servlet.http.HttpSessionListener
sessionDestroyed
in interface HttpSessionListener
se
- the notification eventCopyright © 2000-2014 Apache Software Foundation. All Rights Reserved.