public class SedaConsumer extends ServiceSupport implements Consumer, Runnable, ShutdownAware, Suspendable
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
SedaConsumer(SedaEndpoint endpoint,
Processor processor) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
deferShutdown(ShutdownRunningTask shutdownRunningTask)
To defer shutdown during first phase of shutdown.
|
protected void |
doResume()
Implementations override this method to support customized suspend/resume.
|
protected void |
doRun() |
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.
|
protected void |
doSuspend()
Implementations override this method to support customized suspend/resume.
|
Endpoint |
getEndpoint()
Gets the endpoint associated with an object.
|
ExceptionHandler |
getExceptionHandler() |
int |
getPendingExchangesSize()
Gets the number of pending exchanges.
|
Processor |
getProcessor() |
boolean |
isRunAllowed()
Helper methods so the service knows if it should keep running.
|
protected Exchange |
prepareExchange(Exchange exchange)
Strategy to prepare exchange for being processed by this consumer
|
void |
prepareShutdown(boolean suspendOnly,
boolean forced)
Prepares for stop/shutdown.
|
void |
run() |
protected void |
sendToConsumers(Exchange exchange)
Send the given
Exchange to the consumer(s). |
void |
setExceptionHandler(ExceptionHandler exceptionHandler) |
String |
toString() |
getStatus, getVersion, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendpublic SedaConsumer(SedaEndpoint endpoint, Processor processor)
public Endpoint getEndpoint()
EndpointAwareProducer
or for consuming from for components like Consumer or RoutegetEndpoint in interface EndpointAwarepublic ExceptionHandler getExceptionHandler()
public void setExceptionHandler(ExceptionHandler exceptionHandler)
public Processor getProcessor()
public boolean deferShutdown(ShutdownRunningTask shutdownRunningTask)
ShutdownAwareSedaConsumer.deferShutdown in interface ShutdownAwareshutdownRunningTask - the configured option for how to act when shutting down running tasks.public int getPendingExchangesSize()
ShutdownAwareExchange which are pending.
For example the SedaConsumer.
Return zero to indicate no pending exchanges and therefore ready to shutdown.getPendingExchangesSize in interface ShutdownAwarepublic void prepareShutdown(boolean suspendOnly,
boolean forced)
ShutdownPreparedShutdownStrategy 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 ShutdownPreparedsuspendOnly - 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 boolean isRunAllowed()
StatefulServiceisRunAllowed in interface StatefulServiceisRunAllowed in class ServiceSupportprotected void doRun()
protected Exchange prepareExchange(Exchange exchange)
exchange - the exchangeprotected void sendToConsumers(Exchange exchange) throws Exception
Exchange to the consumer(s).
If multiple consumers then they will each receive a copy of the Exchange.
A multicast processor will send the exchange in parallel to the multiple consumers.
If there is only a single consumer then its dispatched directly to it using same thread.exchange - the exchangeException - can be thrown if processing of the exchange failedprotected void doStart()
throws Exception
ServiceSupportServiceSupport.doStop() for more details.doStart in class ServiceSupportExceptionServiceSupport.doStop()protected void doSuspend()
throws Exception
ServiceSupportdoSuspend in class ServiceSupportExceptionprotected void doResume()
throws Exception
ServiceSupportdoResume in class ServiceSupportExceptionprotected void doStop()
throws Exception
ServiceSupportServiceSupport.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 ServiceSupportExceptionServiceSupport.doStart()protected void doShutdown()
throws Exception
ServiceSupportdoShutdown in class ServiceSupportExceptionCopyright © 2007–2016 The Apache Software Foundation. All rights reserved.