public abstract class ScheduledBatchPollingConsumer extends ScheduledPollConsumer implements BatchConsumer, ShutdownAware
| Modifier and Type | Field and Description |
|---|---|
protected int |
maxMessagesPerPoll |
protected int |
pendingExchanges |
protected ShutdownRunningTask |
shutdownRunningTask |
logshutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
ScheduledBatchPollingConsumer(Endpoint endpoint,
Processor processor) |
ScheduledBatchPollingConsumer(Endpoint endpoint,
Processor processor,
ScheduledExecutorService executor) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
deferShutdown(ShutdownRunningTask shutdownRunningTask)
To defer shutdown during first phase of shutdown.
|
int |
getMaxMessagesPerPoll()
Gets the maximum number of messages as a limit to poll at each polling.
|
int |
getPendingExchangesSize()
Gets the number of pending exchanges.
|
boolean |
isBatchAllowed()
Whether processing the batch is still allowed.
|
void |
prepareShutdown(boolean suspendOnly,
boolean forced)
Prepares for stop/shutdown.
|
protected void |
processEmptyMessage()
No messages to poll so send an empty message instead.
|
void |
setMaxMessagesPerPoll(int maxMessagesPerPoll)
Sets a maximum number of messages as a limit to poll at each polling.
|
afterPoll, beforePoll, doShutdown, doStart, doStop, doSuspend, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDelay, getInitialDelay, getPollStrategy, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isPollAllowed, isPolling, isSchedulerStarted, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, onInit, poll, run, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startSchedulercreateUoW, doneUoW, getAsyncProcessor, getEndpoint, getExceptionHandler, getProcessor, getRoute, handleException, handleException, setExceptionHandler, setRoute, toStringdoResume, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitprocessBatchgetEndpointprotected volatile ShutdownRunningTask shutdownRunningTask
protected volatile int pendingExchanges
protected int maxMessagesPerPoll
public ScheduledBatchPollingConsumer(Endpoint endpoint, Processor processor)
public ScheduledBatchPollingConsumer(Endpoint endpoint, Processor processor, ScheduledExecutorService executor)
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 void setMaxMessagesPerPoll(int maxMessagesPerPoll)
BatchConsumersetMaxMessagesPerPoll in interface BatchConsumermaxMessagesPerPoll - maximum messages to poll.public int getMaxMessagesPerPoll()
public boolean isBatchAllowed()
BatchConsumerisBatchAllowed in interface BatchConsumerShutdownRunningTaskprotected void processEmptyMessage() throws Exception
ScheduledPollConsumerprocessEmptyMessage in class ScheduledPollConsumerException - is thrown if error processing the empty message.Apache Camel