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 java.util.List<Request> |
cometRequests
List of current Comet connections.
|
protected static java.lang.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 java.util.List<Request> cometRequests
protected static final java.lang.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 java.io.IOException, ServletException
invoke
in interface Valve
invoke
in class ValveBase
request
- The servlet request to be processedresponse
- The servlet response to be createdjava.io.IOException
- if an input/output error occursServletException
- if a servlet error occurspublic void event(Request request, Response response, CometEvent event) throws java.io.IOException, ServletException
event
in interface Valve
event
in class ValveBase
request
- The servlet request to be processedresponse
- The servlet response to be createdjava.io.IOException
- 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-2018 Apache Software Foundation. All Rights Reserved.