org.apache.camel.processor
Class ThroughputLogger
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.processor.ThroughputLogger
- All Implemented Interfaces:
- AsyncProcessor, Processor, Service, ShutdownableService, StatefulService, SuspendableService
public class ThroughputLogger
- extends ServiceSupport
- implements AsyncProcessor
A logger for logging message throughput.
- Version:
Methods inherited from class org.apache.camel.support.ServiceSupport |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ThroughputLogger
public ThroughputLogger(CamelLogger log)
ThroughputLogger
public ThroughputLogger(CamelLogger log,
Integer groupSize)
ThroughputLogger
public ThroughputLogger(CamelLogger log,
CamelContext camelContext,
Long groupInterval,
Long groupDelay,
Boolean groupActiveOnly)
process
public void process(Exchange exchange)
throws Exception
- Description copied from interface:
Processor
- Processes the message exchange
- Specified by:
process
in interface Processor
- Parameters:
exchange
- the message exchange
- Throws:
Exception
- if an internal processing error has occurred.
process
public boolean process(Exchange exchange,
AsyncCallback callback)
- Description copied from interface:
AsyncProcessor
- Processes the message exchange.
Similar to
Processor.process(org.apache.camel.Exchange)
, but the caller supports having the exchange asynchronously processed.
If there was a failure processing then the caused Exception
would be set on the Exchange
.
- Specified by:
process
in interface AsyncProcessor
- Parameters:
exchange
- the message exchangecallback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.
- Returns:
- (doneSync) true to continue execute synchronously, false to continue being executed asynchronously
getGroupSize
public Integer getGroupSize()
setGroupSize
public void setGroupSize(Integer groupSize)
getGroupInterval
public Long getGroupInterval()
setGroupInterval
public void setGroupInterval(Long groupInterval)
getGroupDelay
public long getGroupDelay()
setGroupDelay
public void setGroupDelay(long groupDelay)
getGroupActiveOnly
public boolean getGroupActiveOnly()
getNumberFormat
public NumberFormat getNumberFormat()
setNumberFormat
public void setNumberFormat(NumberFormat numberFormat)
getAction
public String getAction()
setAction
public void setAction(String action)
reset
public void reset()
getRate
public double getRate()
getAverage
public double getAverage()
getReceivedCounter
public int getReceivedCounter()
getLastLogMessage
public String getLastLogMessage()
doStart
public void doStart()
throws Exception
- Description copied from class:
ServiceSupport
- Implementations override this method to support customized start/stop.
Important: See
ServiceSupport.doStop()
for more details.
- Specified by:
doStart
in class ServiceSupport
- Throws:
Exception
- See Also:
ServiceSupport.doStop()
doStop
public void doStop()
throws Exception
- Description copied from class:
ServiceSupport
- Implementations override this method to support customized start/stop.
Important: Camel will invoke this
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.
- Specified by:
doStop
in class ServiceSupport
- Throws:
Exception
- See Also:
ServiceSupport.doStart()
createLogMessage
protected String createLogMessage(Exchange exchange,
int receivedCount)
createGroupIntervalLogMessage
protected void createGroupIntervalLogMessage()
messagesPerSecond
protected double messagesPerSecond(long messageCount,
long startTime,
long endTime)
Apache Camel