Class MyBatisEndpoint

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Endpoint, org.apache.camel.IsSingleton, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasId, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @UriEndpoint(firstVersion="2.7.0",
                 scheme="mybatis",
                 title="MyBatis",
                 syntax="mybatis:statement",
                 category={DATABASE,SQL},
                 headersClass=MyBatisConstants.class)
    public class MyBatisEndpoint
    extends BaseMyBatisEndpoint
    Performs a query, poll, insert, update or delete in a relational database using MyBatis.
    • Field Summary

      • 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
      org.apache.camel.Consumer createConsumer​(org.apache.camel.Processor processor)  
      org.apache.camel.Producer createProducer()  
      int getMaxMessagesPerPoll()  
      String getOnConsume()  
      MyBatisProcessingStrategy getProcessingStrategy()  
      String getStatement()  
      StatementType getStatementType()  
      boolean isRouteEmptyResultSet()  
      boolean isTransacted()  
      boolean isUseIterator()  
      void setMaxMessagesPerPoll​(int maxMessagesPerPoll)
      This option is intended to split results returned by the database pool into the batches and deliver them in multiple exchanges.
      void setOnConsume​(String onConsume)
      Statement to run after data has been processed in the route
      void setProcessingStrategy​(MyBatisProcessingStrategy processingStrategy)
      To use a custom MyBatisProcessingStrategy
      void setRouteEmptyResultSet​(boolean routeEmptyResultSet)
      Whether allow empty resultset to be routed to the next hop
      void setStatement​(String statement)
      The statement name in the MyBatis XML mapping file which maps to the query, insert, update or delete operation you wish to evaluate.
      void setStatementType​(StatementType statementType)
      Mandatory to specify for the producer to control which kind of operation to invoke.
      void setTransacted​(boolean transacted)
      Enables or disables transaction.
      void setUseIterator​(boolean useIterator)
      Process resultset individually or as a list
      • Methods inherited from class org.apache.camel.support.ScheduledPollEndpoint

        configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, doStart, doStop, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDefaultDelay, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay
      • Methods inherited from class org.apache.camel.support.DefaultEndpoint

        configureExchange, configurePollingConsumer, createAsyncProducer, createEndpointUri, createExchange, createExchange, createPollingConsumer, doInit, equals, getCamelContext, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, 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.Endpoint

        getEndpointBaseUri, isSingletonProducer
      • 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
    • Constructor Detail

      • MyBatisEndpoint

        public MyBatisEndpoint()
      • MyBatisEndpoint

        public MyBatisEndpoint​(String endpointUri,
                               org.apache.camel.Component component,
                               String statement)
    • Method Detail

      • createProducer

        public org.apache.camel.Producer createProducer()
                                                 throws Exception
        Throws:
        Exception
      • createConsumer

        public org.apache.camel.Consumer createConsumer​(org.apache.camel.Processor processor)
                                                 throws Exception
        Specified by:
        createConsumer in interface org.apache.camel.Endpoint
        Overrides:
        createConsumer in class org.apache.camel.support.DefaultPollingEndpoint
        Throws:
        Exception
      • getStatement

        public String getStatement()
      • setStatement

        public void setStatement​(String statement)
        The statement name in the MyBatis XML mapping file which maps to the query, insert, update or delete operation you wish to evaluate.
      • setStatementType

        public void setStatementType​(StatementType statementType)
        Mandatory to specify for the producer to control which kind of operation to invoke.
      • isTransacted

        public boolean isTransacted()
      • setTransacted

        public void setTransacted​(boolean transacted)
        Enables or disables transaction. If enabled then if processing an exchange failed then the consumer + break out processing any further exchanges to cause a rollback eager
      • setProcessingStrategy

        public void setProcessingStrategy​(MyBatisProcessingStrategy processingStrategy)
        To use a custom MyBatisProcessingStrategy
      • getMaxMessagesPerPoll

        public int getMaxMessagesPerPoll()
      • setMaxMessagesPerPoll

        public void setMaxMessagesPerPoll​(int maxMessagesPerPoll)
        This option is intended to split results returned by the database pool into the batches and deliver them in multiple exchanges. This integer defines the maximum messages to deliver in single exchange. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disable it.
      • getOnConsume

        public String getOnConsume()
      • setOnConsume

        public void setOnConsume​(String onConsume)
        Statement to run after data has been processed in the route
      • isUseIterator

        public boolean isUseIterator()
      • setUseIterator

        public void setUseIterator​(boolean useIterator)
        Process resultset individually or as a list
      • isRouteEmptyResultSet

        public boolean isRouteEmptyResultSet()
      • setRouteEmptyResultSet

        public void setRouteEmptyResultSet​(boolean routeEmptyResultSet)
        Whether allow empty resultset to be routed to the next hop