Class ScheduledPollConsumer

  • All Implemented Interfaces:
    AutoCloseable, Runnable, org.apache.camel.Consumer, org.apache.camel.EndpointAware, org.apache.camel.PollingConsumerPollingStrategy, org.apache.camel.RouteAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.RouteIdAware, org.apache.camel.StatefulService, org.apache.camel.Suspendable, org.apache.camel.SuspendableService
    Direct Known Subclasses:
    AbstractApiConsumer, DefaultScheduledPollConsumer, ScheduledBatchPollingConsumer

    public abstract class ScheduledPollConsumer
    extends DefaultConsumer
    implements Runnable, org.apache.camel.Suspendable, org.apache.camel.PollingConsumerPollingStrategy
    A useful base class for any consumer which is polling based
    • Constructor Detail

      • ScheduledPollConsumer

        public ScheduledPollConsumer​(org.apache.camel.Endpoint endpoint,
                                     org.apache.camel.Processor processor)
      • ScheduledPollConsumer

        public ScheduledPollConsumer​(org.apache.camel.Endpoint endpoint,
                                     org.apache.camel.Processor processor,
                                     ScheduledExecutorService scheduledExecutorService)
    • Method Detail

      • run

        public void run()
        Invoked whenever we should be polled
        Specified by:
        run in interface Runnable
      • processEmptyMessage

        protected void processEmptyMessage()
                                    throws Exception
        No messages to poll so send an empty message instead.
        Throws:
        Exception - is thrown if error processing the empty message.
      • isPollAllowed

        protected boolean isPollAllowed()
      • isPolling

        public boolean isPolling()
        Whether polling is currently in progress
      • getScheduler

        public org.apache.camel.spi.ScheduledPollConsumerScheduler getScheduler()
      • setScheduler

        public void setScheduler​(org.apache.camel.spi.ScheduledPollConsumerScheduler scheduler)
      • getSchedulerProperties

        public Map<String,​Object> getSchedulerProperties()
      • setSchedulerProperties

        public void setSchedulerProperties​(Map<String,​Object> schedulerProperties)
      • getInitialDelay

        public long getInitialDelay()
      • setInitialDelay

        public void setInitialDelay​(long initialDelay)
      • getDelay

        public long getDelay()
      • setDelay

        public void setDelay​(long delay)
      • getTimeUnit

        public TimeUnit getTimeUnit()
      • setTimeUnit

        public void setTimeUnit​(TimeUnit timeUnit)
      • isUseFixedDelay

        public boolean isUseFixedDelay()
      • setUseFixedDelay

        public void setUseFixedDelay​(boolean useFixedDelay)
      • getRunLoggingLevel

        public org.apache.camel.LoggingLevel getRunLoggingLevel()
      • setRunLoggingLevel

        public void setRunLoggingLevel​(org.apache.camel.LoggingLevel runLoggingLevel)
      • getPollStrategy

        public org.apache.camel.spi.PollingConsumerPollStrategy getPollStrategy()
      • setPollStrategy

        public void setPollStrategy​(org.apache.camel.spi.PollingConsumerPollStrategy pollStrategy)
      • isStartScheduler

        public boolean isStartScheduler()
      • setStartScheduler

        public void setStartScheduler​(boolean startScheduler)
      • setSendEmptyMessageWhenIdle

        public void setSendEmptyMessageWhenIdle​(boolean sendEmptyMessageWhenIdle)
      • isSendEmptyMessageWhenIdle

        public boolean isSendEmptyMessageWhenIdle()
      • isGreedy

        public boolean isGreedy()
      • setGreedy

        public void setGreedy​(boolean greedy)
      • getBackoffCounter

        public int getBackoffCounter()
      • getBackoffMultiplier

        public int getBackoffMultiplier()
      • setBackoffMultiplier

        public void setBackoffMultiplier​(int backoffMultiplier)
      • getBackoffIdleThreshold

        public int getBackoffIdleThreshold()
      • setBackoffIdleThreshold

        public void setBackoffIdleThreshold​(int backoffIdleThreshold)
      • getBackoffErrorThreshold

        public int getBackoffErrorThreshold()
      • setBackoffErrorThreshold

        public void setBackoffErrorThreshold​(int backoffErrorThreshold)
      • getRepeatCount

        public long getRepeatCount()
      • setRepeatCount

        public void setRepeatCount​(long repeatCount)
      • isSchedulerStarted

        public boolean isSchedulerStarted()
      • setScheduledExecutorService

        public void setScheduledExecutorService​(ScheduledExecutorService scheduledExecutorService)
      • poll

        protected abstract int poll()
                             throws Exception
        The polling method which is invoked periodically to poll this consumer
        Returns:
        number of messages polled, will be 0 if no message was polled at all.
        Throws:
        Exception - can be thrown if an exception occurred during polling
      • startScheduler

        public void startScheduler()
        Starts the scheduler.

        If the scheduler is already started, then this is a noop method call.

      • doShutdown

        protected void doShutdown()
                           throws Exception
        Overrides:
        doShutdown in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doSuspend

        protected void doSuspend()
                          throws Exception
        Overrides:
        doSuspend in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • onInit

        public void onInit()
                    throws Exception
        Specified by:
        onInit in interface org.apache.camel.PollingConsumerPollingStrategy
        Throws:
        Exception
      • beforePoll

        public long beforePoll​(long timeout)
                        throws Exception
        Specified by:
        beforePoll in interface org.apache.camel.PollingConsumerPollingStrategy
        Throws:
        Exception
      • afterPoll

        public void afterPoll()
                       throws Exception
        Specified by:
        afterPoll in interface org.apache.camel.PollingConsumerPollingStrategy
        Throws:
        Exception