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 forced)
Prepares for 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, resume, shutdown, start, stop, suspendclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitprocessBatchgetEndpointisSuspended, resume, suspendprotected volatile ShutdownRunningTask shutdownRunningTask
protected volatile int pendingExchanges
@UriParam 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 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.
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 ShutdownPreparedforced - 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