Package org.apache.camel.support
Class ScheduledBatchPollingConsumer
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultConsumer
org.apache.camel.support.ScheduledPollConsumer
org.apache.camel.support.ScheduledBatchPollingConsumer
- All Implemented Interfaces:
AutoCloseable
,Runnable
,org.apache.camel.BatchConsumer
,org.apache.camel.Consumer
,org.apache.camel.EndpointAware
,org.apache.camel.health.HealthCheckAware
,org.apache.camel.PollingConsumerPollingStrategy
,org.apache.camel.RouteAware
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.RouteIdAware
,org.apache.camel.spi.ShutdownAware
,org.apache.camel.spi.ShutdownPrepared
,org.apache.camel.StatefulService
,org.apache.camel.Suspendable
,org.apache.camel.SuspendableService
public abstract class ScheduledBatchPollingConsumer
extends ScheduledPollConsumer
implements org.apache.camel.BatchConsumer, org.apache.camel.spi.ShutdownAware
A useful base class for any consumer which is polling batch based
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected int
protected org.apache.camel.ShutdownRunningTask
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
-
Constructor Summary
ConstructorsConstructorDescriptionScheduledBatchPollingConsumer
(org.apache.camel.Endpoint endpoint, org.apache.camel.Processor processor) ScheduledBatchPollingConsumer
(org.apache.camel.Endpoint endpoint, org.apache.camel.Processor processor, ScheduledExecutorService executor) -
Method Summary
Modifier and TypeMethodDescriptionboolean
deferShutdown
(org.apache.camel.ShutdownRunningTask shutdownRunningTask) int
Gets the maximum number of messages as a limit to poll at each polling.int
boolean
void
prepareShutdown
(boolean suspendOnly, boolean forced) protected void
No messages to poll so send an empty message instead.void
setMaxMessagesPerPoll
(int maxMessagesPerPoll) Methods inherited from class org.apache.camel.support.ScheduledPollConsumer
addLastErrorDetail, afterConfigureScheduler, afterPoll, beforePoll, doBuild, doInit, doShutdown, doStart, doStop, doSuspend, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, initialHealthCheckState, isFirstPollDone, isGreedy, isPollAllowed, isPolling, isSchedulerStarted, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, onInit, poll, run, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startScheduler
Methods inherited from class org.apache.camel.support.DefaultConsumer
createExchange, createUoW, defaultConsumerCallback, doneUoW, getAsyncProcessor, getEndpoint, getExceptionHandler, getHealthCheck, getProcessor, getRoute, getRouteId, handleException, handleException, releaseExchange, setExceptionHandler, setHealthCheck, setRoute, setRouteId, toString
Methods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.camel.BatchConsumer
processBatch
Methods inherited from interface org.apache.camel.Consumer
createExchange, defaultConsumerCallback, getProcessor, releaseExchange
Methods inherited from interface org.apache.camel.EndpointAware
getEndpoint
Methods inherited from interface org.apache.camel.health.HealthCheckAware
getHealthCheck, setHealthCheck
Methods inherited from interface org.apache.camel.Service
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Field Details
-
shutdownRunningTask
protected volatile org.apache.camel.ShutdownRunningTask shutdownRunningTask -
pendingExchanges
protected volatile int pendingExchanges -
maxMessagesPerPoll
protected int maxMessagesPerPoll
-
-
Constructor Details
-
ScheduledBatchPollingConsumer
public ScheduledBatchPollingConsumer(org.apache.camel.Endpoint endpoint, org.apache.camel.Processor processor) -
ScheduledBatchPollingConsumer
public ScheduledBatchPollingConsumer(org.apache.camel.Endpoint endpoint, org.apache.camel.Processor processor, ScheduledExecutorService executor)
-
-
Method Details
-
deferShutdown
public boolean deferShutdown(org.apache.camel.ShutdownRunningTask shutdownRunningTask) - Specified by:
deferShutdown
in interfaceorg.apache.camel.spi.ShutdownAware
-
getPendingExchangesSize
public int getPendingExchangesSize()- Specified by:
getPendingExchangesSize
in interfaceorg.apache.camel.spi.ShutdownAware
-
prepareShutdown
public void prepareShutdown(boolean suspendOnly, boolean forced) - Specified by:
prepareShutdown
in interfaceorg.apache.camel.spi.ShutdownPrepared
-
setMaxMessagesPerPoll
public void setMaxMessagesPerPoll(int maxMessagesPerPoll) - Specified by:
setMaxMessagesPerPoll
in interfaceorg.apache.camel.BatchConsumer
-
getMaxMessagesPerPoll
public int getMaxMessagesPerPoll()Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited.- Returns:
- max messages to poll
-
isBatchAllowed
public boolean isBatchAllowed()- Specified by:
isBatchAllowed
in interfaceorg.apache.camel.BatchConsumer
-
processEmptyMessage
Description copied from class:ScheduledPollConsumer
No messages to poll so send an empty message instead.- Overrides:
processEmptyMessage
in classScheduledPollConsumer
- Throws:
Exception
- is thrown if error processing the empty message.
-