primaryIndicator
protected boolean primaryIndicator
must primary change indicator set
MBeanRegistration
, Contained
, ClusterValve
, JmxEnabled
, Lifecycle
, Valve
Implementation of a Valve that logs interesting contents from the specified Request (before processing) and the corresponding Response (after processing). It is especially useful in debugging problems related to headers and cookies.
This Valve may be attached to any Container, depending on the granularity of the logging you wish to perform.
primaryIndicator=true, then the request attribute org.apache.catalina.ha.tcp.isPrimarySession. is set true, when request processing is at sessions primary node.
Lifecycle.SingleUse
protected final ThreadLocal<ArrayList<DeltaSession>>
protected boolean
protected Pattern
protected AtomicLong
protected LongAdder
protected LongAdder
protected LongAdder
protected LongAdder
protected boolean
protected String
protected static final StringManager
protected LongAdder
protected LongAdder
asyncSupported, container, containerLog, next
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
protected void
createPrimaryIndicator(Request request)
boolean
long
long
long
long
long
long
long
void
boolean
protected boolean
void
registerReplicationSession(DeltaSession session)
protected void
resetDeltaRequest(Session session)
protected void
resetReplicationRequest(Request request,
boolean isCrossContext)
void
protected void
send(ClusterManager manager,
String sessionId)
protected void
protected void
sendInvalidSessions(ClusterManager manager)
protected void
sendMessage(Session session,
ClusterManager manager)
protected void
sendReplicationMessage(Request request,
long totalstart,
boolean isCrossContext,
boolean isAsync,
ClusterManager clusterManager)
protected void
sendSessionReplicationMessage(Request request,
ClusterManager manager)
void
setCluster(CatalinaCluster cluster)
void
void
setPrimaryIndicator(boolean primaryIndicator)
void
setPrimaryIndicatorName(String primaryIndicatorName)
void
setStatistics(boolean doProcessingStats)
protected void
LifecycleBase.startInternal()
.protected void
updateStats(long requestTime,
long clusterTime,
boolean isAsync)
backgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setContainer, setNext, stopInternal, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
backgroundProcess, getNext, isAsyncSupported, setNext
ClusterValve
getCluster
in interface ClusterValve
ClusterValve
setCluster
in interface ClusterValve
cluster
- The cluster to set.filter
- The filter to set.primaryIndicator
- The primaryIndicator to set.primaryIndicatorName
- The primaryIndicatorName to set.true
if statistics are enableddoProcessingStats
- New flag valuesession
- cross context sessionValve
Perform request processing as required by this Valve.
An individual Valve MAY perform the following actions, in the specified order:
getNext().invoke()
.
A Valve MUST NOT do any of the following things:
getNext().invoke()
method has
returned.
getNext().invoke()
method has returned.
invoke
in interface Valve
request
- The servlet request to be processedresponse
- The servlet response to be createdIOException
- if an input/output error occurs, or is thrown by a subsequently invoked Valve,
Filter, or ServletServletException
- if a servlet error occurs, or is thrown by a subsequently invoked Valve, Filter, or
ServletValveBase
LifecycleBase.startInternal()
.startInternal
in class ValveBase
LifecycleException
- if this component detects a fatal error that prevents this component from being
usedrequest
- current request after response is generatedisCrossContext
- check crosscontext threadlocalsession
- HttpSession from current request or cross context sessionrequest
- current requestmanager
- session managersession
- current sessionmanager
- session managermanager
- SessionManagersessionId
- sessionid from the managermanager
- Associated manageruri
- The request urirequestTime
- Request timeclusterTime
- Cluster timeisAsync
- if the request was in async moderequest
- The Servlet requestIOException
- IO error finding session