public abstract class ScheduledPollConsumer extends DefaultConsumer implements Runnable, SuspendableService, PollingConsumerPollingStrategy
log
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
ScheduledPollConsumer(Endpoint endpoint,
Processor processor) |
ScheduledPollConsumer(Endpoint endpoint,
Processor processor,
ScheduledExecutorService scheduledExecutorService) |
Modifier and Type | Method and Description |
---|---|
void |
afterPoll()
Callback invoked after the poll.
|
long |
beforePoll(long timeout)
Callback invoked before the poll.
|
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.
|
long |
getDelay() |
long |
getInitialDelay() |
PollingConsumerPollStrategy |
getPollStrategy() |
LoggingLevel |
getRunLoggingLevel() |
ScheduledExecutorService |
getScheduledExecutorService() |
TimeUnit |
getTimeUnit() |
boolean |
isGreedy() |
protected boolean |
isPollAllowed() |
protected boolean |
isPolling()
Whether polling is currently in progress
|
boolean |
isSchedulerStarted()
Whether the scheduler has been started.
|
boolean |
isSendEmptyMessageWhenIdle() |
boolean |
isStartScheduler() |
boolean |
isUseFixedDelay() |
void |
onInit()
Callback invoked when the consumer is initialized such as when the
PollingConsumer starts. |
protected abstract int |
poll()
The polling method which is invoked periodically to poll this consumer
|
protected void |
processEmptyMessage()
No messages to poll so send an empty message instead.
|
void |
run()
Invoked whenever we should be polled
|
void |
setDelay(long delay) |
void |
setGreedy(boolean greedy)
If greedy then a poll is executed immediate after a previous poll that polled 1 or more messages.
|
void |
setInitialDelay(long initialDelay) |
void |
setPollStrategy(PollingConsumerPollStrategy pollStrategy) |
void |
setRunLoggingLevel(LoggingLevel runLoggingLevel) |
void |
setScheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
Sets a custom shared
ScheduledExecutorService to use as thread pool
Notice: When using a custom thread pool, then the lifecycle of this thread
pool is not controlled by this consumer (eg this consumer will not start/stop the thread pool
when the consumer is started/stopped etc.) |
void |
setSendEmptyMessageWhenIdle(boolean sendEmptyMessageWhenIdle) |
void |
setStartScheduler(boolean startScheduler)
Sets whether the scheduler should be started when this consumer starts.
|
void |
setTimeUnit(TimeUnit timeUnit)
Sets the time unit to use.
|
void |
setUseFixedDelay(boolean useFixedDelay) |
void |
startScheduler()
Starts the scheduler.
|
getAsyncProcessor, getEndpoint, getExceptionHandler, getProcessor, handleException, handleException, setExceptionHandler, toString
doResume, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isSuspended, resume, suspend
public ScheduledPollConsumer(Endpoint endpoint, Processor processor, ScheduledExecutorService scheduledExecutorService)
protected void processEmptyMessage() throws Exception
Exception
- is thrown if error processing the empty message.protected boolean isPollAllowed()
protected boolean isPolling()
public long getInitialDelay()
public void setInitialDelay(long initialDelay)
public long getDelay()
public void setDelay(long delay)
public TimeUnit getTimeUnit()
public void setTimeUnit(TimeUnit timeUnit)
getDelay()
and getInitialDelay()
are using
the same time unit. So if you change this value, then take into account that the
default value of getInitialDelay()
is 1000. So you may to adjust this value accordingly.timeUnit
- the time unit.public boolean isUseFixedDelay()
public void setUseFixedDelay(boolean useFixedDelay)
public LoggingLevel getRunLoggingLevel()
public void setRunLoggingLevel(LoggingLevel runLoggingLevel)
public PollingConsumerPollStrategy getPollStrategy()
public void setPollStrategy(PollingConsumerPollStrategy pollStrategy)
public boolean isStartScheduler()
public void setStartScheduler(boolean startScheduler)
startScheduler
- whether to start schedulerpublic void setSendEmptyMessageWhenIdle(boolean sendEmptyMessageWhenIdle)
public boolean isSendEmptyMessageWhenIdle()
public boolean isGreedy()
public void setGreedy(boolean greedy)
public ScheduledExecutorService getScheduledExecutorService()
public boolean isSchedulerStarted()
startScheduler()
method.public void setScheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
ScheduledExecutorService
to use as thread pool
Notice: When using a custom thread pool, then the lifecycle of this thread
pool is not controlled by this consumer (eg this consumer will not start/stop the thread pool
when the consumer is started/stopped etc.)scheduledExecutorService
- the custom thread pool to useprotected abstract int poll() throws Exception
Exception
- can be thrown if an exception occurred during pollingprotected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class DefaultConsumer
Exception
ServiceSupport.doStop()
public void startScheduler()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.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 DefaultConsumer
Exception
ServiceSupport.doStart()
protected void doShutdown() throws Exception
ServiceSupport
doShutdown
in class ServiceSupport
Exception
protected void doSuspend() throws Exception
ServiceSupport
doSuspend
in class ServiceSupport
Exception
public void onInit() throws Exception
PollingConsumerPollingStrategy
PollingConsumer
starts.onInit
in interface PollingConsumerPollingStrategy
Exception
- can be thrown if error initializing.public long beforePoll(long timeout) throws Exception
PollingConsumerPollingStrategy
beforePoll
in interface PollingConsumerPollingStrategy
timeout
- the timeoutException
- can be thrown if error occurredpublic void afterPoll() throws Exception
PollingConsumerPollingStrategy
afterPoll
in interface PollingConsumerPollingStrategy
Exception
- can be thrown if error occurredApache Camel