public class WireTapProcessor extends ServiceSupport implements AsyncProcessor, Traceable, ShutdownAware, IdAware, CamelContextAware
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
WireTapProcessor(SendDynamicProcessor dynamicProcessor,
Processor processor,
ExchangePattern exchangePattern,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean dynamicUri) |
Modifier and Type | Method and Description |
---|---|
void |
addNewExchangeProcessor(Processor processor) |
protected Exchange |
configureExchange(Exchange exchange,
ExchangePattern pattern) |
boolean |
deferShutdown(ShutdownRunningTask shutdownRunningTask)
To defer shutdown during first phase of shutdown.
|
protected void |
doShutdown()
Implementations override this method to perform customized shutdown.
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
int |
getCacheSize() |
CamelContext |
getCamelContext()
Get the
CamelContext |
EndpointUtilizationStatistics |
getEndpointUtilizationStatistics() |
String |
getId()
Returns the id
|
Expression |
getNewExchangeExpression() |
List<Processor> |
getNewExchangeProcessors() |
Processor |
getOnPrepare() |
int |
getPendingExchangesSize()
Gets the number of pending exchanges.
|
String |
getTraceLabel()
Gets the trace label used for logging when tracing is enabled.
|
String |
getUri() |
boolean |
isCopy() |
boolean |
isDynamicUri() |
boolean |
isIgnoreInvalidEndpoint() |
void |
prepareShutdown(boolean suspendOnly,
boolean forced)
Prepares for stop/shutdown.
|
void |
process(Exchange exchange)
Processes the message exchange
|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
void |
setCamelContext(CamelContext camelContext)
Injects the
CamelContext |
void |
setCopy(boolean copy) |
void |
setId(String id)
Sets the id
|
void |
setNewExchangeExpression(Expression newExchangeExpression) |
void |
setNewExchangeProcessors(List<Processor> newExchangeProcessors) |
void |
setOnPrepare(Processor onPrepare) |
String |
toString() |
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public WireTapProcessor(SendDynamicProcessor dynamicProcessor, Processor processor, ExchangePattern exchangePattern, ExecutorService executorService, boolean shutdownExecutorService, boolean dynamicUri)
public String getTraceLabel()
Traceable
getTraceLabel
in interface Traceable
public CamelContext getCamelContext()
CamelContextAware
CamelContext
getCamelContext
in interface CamelContextAware
public void setCamelContext(CamelContext camelContext)
CamelContextAware
CamelContext
setCamelContext
in interface CamelContextAware
camelContext
- the Camel contextpublic boolean deferShutdown(ShutdownRunningTask shutdownRunningTask)
ShutdownAware
SedaConsumer
.deferShutdown
in interface ShutdownAware
shutdownRunningTask
- the configured option for how to act when shutting down running tasks.public int getPendingExchangesSize()
ShutdownAware
Exchange
which are pending.
For example the SedaConsumer
.
Return zero to indicate no pending exchanges and therefore ready to shutdown.getPendingExchangesSize
in interface ShutdownAware
public void prepareShutdown(boolean suspendOnly, boolean forced)
ShutdownPrepared
ShutdownStrategy
supports preparing for shutdown using two steps.
First a regular preparation, where the given forced parameter will be false.
And if the shutdown times out, then the ShutdownStrategy
performs a more aggressive
shutdown, calling this method a second time with true for the given forced parameter.
For example by graceful stopping any threads or the likes.
In addition a service can also be suspended (not stopped), and when this happens the parameter
suspendOnly has the value true. This can be used to prepare the service
for suspension, such as marking a worker thread to skip action.
For forced shutdown, then the service is expected to aggressively shutdown any child services, such
as thread pools etc. This is the last chance it has to perform such duties.prepareShutdown
in interface ShutdownPrepared
suspendOnly
- true if the intention is to only suspend the service, and not stop/shutdown the service.forced
- true is forcing a more aggressive shutdown, false is for preparing to shutdown.public EndpointUtilizationStatistics getEndpointUtilizationStatistics()
public void process(Exchange exchange) throws Exception
Processor
public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessor
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
.process
in interface AsyncProcessor
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.protected Exchange configureExchange(Exchange exchange, ExchangePattern pattern) throws IOException
IOException
public List<Processor> getNewExchangeProcessors()
public void setNewExchangeProcessors(List<Processor> newExchangeProcessors)
public Expression getNewExchangeExpression()
public void setNewExchangeExpression(Expression newExchangeExpression)
public void addNewExchangeProcessor(Processor processor)
public boolean isCopy()
public void setCopy(boolean copy)
public Processor getOnPrepare()
public void setOnPrepare(Processor onPrepare)
public int getCacheSize()
public boolean isIgnoreInvalidEndpoint()
public boolean isDynamicUri()
protected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
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.doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
protected void doShutdown() throws Exception
ServiceSupport
doShutdown
in class ServiceSupport
Exception
Apache Camel