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, 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.
|
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, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
protected static final String info
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 String getInfo()
public 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 createdevent
- The Comet event to be processedIOException
- if an input/output error occursServletException
- if a servlet error occurspublic void sessionCreated(HttpSessionEvent se)
HttpSessionListener
sessionCreated
in interface HttpSessionListener
se
- the notification eventpublic void sessionDestroyed(HttpSessionEvent se)
HttpSessionListener
sessionDestroyed
in interface HttpSessionListener
se
- the notification eventCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.