Class MyBatisConsumer

  • 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 class MyBatisConsumer
    extends org.apache.camel.support.ScheduledBatchPollingConsumer
    Consumer to read data from a database.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int pendingExchanges  
      protected org.apache.camel.ShutdownRunningTask shutdownRunningTask  
      • Fields inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

        maxMessagesPerPoll
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      MyBatisEndpoint getEndpoint()  
      String getOnConsume()
      Gets the statement(s) to run after successful processing.
      boolean isRouteEmptyResultSet()
      Indicates whether empty resultset should be allowed to be sent to the next hop or not
      boolean isUseIterator()
      Indicates how resultset should be delivered to the route
      protected int poll()
      Polls the database
      int processBatch​(Queue<Object> exchanges)  
      void setOnConsume​(String onConsume)
      Sets the statement to run after successful processing.
      void setRouteEmptyResultSet​(boolean routeEmptyResultSet)
      Sets whether empty resultset should be allowed to be sent to the next hop.
      void setUseIterator​(boolean useIterator)
      Sets how resultset should be delivered to route.
      • Methods inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

        deferShutdown, getMaxMessagesPerPoll, getPendingExchangesSize, isBatchAllowed, prepareShutdown, processEmptyMessage, setMaxMessagesPerPoll
      • 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, 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, 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 interface org.apache.camel.Consumer

        createExchange, defaultConsumerCallback, getProcessor, releaseExchange
      • 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 Detail

      • shutdownRunningTask

        protected volatile org.apache.camel.ShutdownRunningTask shutdownRunningTask
      • pendingExchanges

        protected volatile int pendingExchanges
    • Constructor Detail

      • MyBatisConsumer

        public MyBatisConsumer​(MyBatisEndpoint endpoint,
                               org.apache.camel.Processor processor)
    • Method Detail

      • getEndpoint

        public MyBatisEndpoint getEndpoint()
        Specified by:
        getEndpoint in interface org.apache.camel.EndpointAware
        Overrides:
        getEndpoint in class org.apache.camel.support.DefaultConsumer
      • poll

        protected int poll()
                    throws Exception
        Polls the database
        Specified by:
        poll in class org.apache.camel.support.ScheduledPollConsumer
        Throws:
        Exception
      • getOnConsume

        public String getOnConsume()
        Gets the statement(s) to run after successful processing. Use comma to separate multiple statements.
      • setOnConsume

        public void setOnConsume​(String onConsume)
        Sets the statement to run after successful processing. Use comma to separate multiple statements.
      • isUseIterator

        public boolean isUseIterator()
        Indicates how resultset should be delivered to the route
      • setUseIterator

        public void setUseIterator​(boolean useIterator)
        Sets how resultset should be delivered to route. Indicates delivery as either a list or individual object. defaults to true.
      • isRouteEmptyResultSet

        public boolean isRouteEmptyResultSet()
        Indicates whether empty resultset should be allowed to be sent to the next hop or not
      • setRouteEmptyResultSet

        public void setRouteEmptyResultSet​(boolean routeEmptyResultSet)
        Sets whether empty resultset should be allowed to be sent to the next hop. defaults to false. So the empty resultset will be filtered out.