public abstract class ScheduledBatchPollingConsumer extends ScheduledPollConsumer implements BatchConsumer, ShutdownAware
Modifier and Type | Field and Description |
---|---|
protected int |
maxMessagesPerPoll |
protected int |
pendingExchanges |
protected ShutdownRunningTask |
shutdownRunningTask |
log
shutdown, 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, startScheduler
createUoW, doneUoW, getAsyncProcessor, getEndpoint, getExceptionHandler, getProcessor, getRoute, handleException, handleException, setExceptionHandler, setRoute, toString
doResume, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
processBatch
getEndpoint
protected 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)
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 void setMaxMessagesPerPoll(int maxMessagesPerPoll)
BatchConsumer
setMaxMessagesPerPoll
in interface BatchConsumer
maxMessagesPerPoll
- maximum messages to poll.public int getMaxMessagesPerPoll()
public boolean isBatchAllowed()
BatchConsumer
isBatchAllowed
in interface BatchConsumer
ShutdownRunningTask
protected void processEmptyMessage() throws Exception
ScheduledPollConsumer
processEmptyMessage
in class ScheduledPollConsumer
Exception
- is thrown if error processing the empty message.Apache Camel