Class JpaConsumer

  • 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 JpaConsumer
    extends org.apache.camel.support.ScheduledBatchPollingConsumer
    • Field Summary

      • Fields inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

        maxMessagesPerPoll, pendingExchanges, 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

      Constructors 
      Constructor Description
      JpaConsumer​(JpaEndpoint endpoint, org.apache.camel.Processor processor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean checkParameters​(Method method)  
      protected void configureParameters​(javax.persistence.Query query)  
      protected DeleteHandler<Object> createDeleteHandler()  
      protected org.apache.camel.Exchange createExchange​(Object result, javax.persistence.EntityManager entityManager)  
      protected DeleteHandler<Object> createPreDeleteHandler()  
      protected QueryFactory createQueryFactory()  
      protected void doInit()  
      protected void doShutdown()  
      protected void doStop()  
      DeleteHandler<Object> getDeleteHandler()  
      JpaEndpoint getEndpoint()  
      protected String getEntityName​(Class<?> clazz)  
      javax.persistence.LockModeType getLockModeType()  
      String getNamedQuery()  
      String getNativeQuery()  
      Map<String,​Object> getParameters()  
      DeleteHandler<Object> getPreDeleteHandler()  
      String getQuery()  
      QueryFactory getQueryFactory()  
      Class<?> getResultClass()  
      boolean isSkipLockedEntity()  
      boolean isTransacted()  
      protected boolean lockEntity​(Object entity, javax.persistence.EntityManager entityManager)
      A strategy method to lock an object with an exclusive lock so that it can be processed
      protected int poll()  
      int processBatch​(Queue<Object> exchanges)  
      void setDeleteHandler​(DeleteHandler<Object> deleteHandler)  
      void setLockModeType​(javax.persistence.LockModeType lockModeType)  
      void setNamedQuery​(String namedQuery)  
      void setNativeQuery​(String nativeQuery)  
      void setParameters​(Map<String,​Object> params)  
      void setPreDeleteHandler​(DeleteHandler<Object> preDeleteHandler)  
      void setQuery​(String query)  
      void setQueryFactory​(QueryFactory queryFactory)  
      void setResultClass​(Class<?> resultClass)  
      void setSkipLockedEntity​(boolean skipLockedEntity)
      Sets whether to use NOWAIT on lock and silently skip the entity.
      void setTransacted​(boolean transacted)
      Sets whether to run in transacted mode or not.
      • 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, doStart, doSuspend, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, 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
    • Constructor Detail

      • JpaConsumer

        public JpaConsumer​(JpaEndpoint endpoint,
                           org.apache.camel.Processor processor)
    • Method Detail

      • poll

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

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

        public void setQueryFactory​(QueryFactory queryFactory)
      • setPreDeleteHandler

        public void setPreDeleteHandler​(DeleteHandler<Object> preDeleteHandler)
      • setParameters

        public void setParameters​(Map<String,​Object> params)
      • getNamedQuery

        public String getNamedQuery()
      • setNamedQuery

        public void setNamedQuery​(String namedQuery)
      • getLockModeType

        public javax.persistence.LockModeType getLockModeType()
      • setLockModeType

        public void setLockModeType​(javax.persistence.LockModeType lockModeType)
      • getNativeQuery

        public String getNativeQuery()
      • setNativeQuery

        public void setNativeQuery​(String nativeQuery)
      • getQuery

        public String getQuery()
      • setQuery

        public void setQuery​(String query)
      • getResultClass

        public Class<?> getResultClass()
      • setResultClass

        public void setResultClass​(Class<?> resultClass)
      • isTransacted

        public boolean isTransacted()
      • setTransacted

        public void setTransacted​(boolean transacted)
        Sets whether to run in transacted mode or not.

        This option is default false. When false then all the good messages will commit, and the first failed message will rollback. However when true, then all messages will rollback, if just one message failed.

      • setSkipLockedEntity

        public void setSkipLockedEntity​(boolean skipLockedEntity)
        Sets whether to use NOWAIT on lock and silently skip the entity. This allows different instances to process entities at the same time but not processing the same entity.
      • isSkipLockedEntity

        public boolean isSkipLockedEntity()
      • lockEntity

        protected boolean lockEntity​(Object entity,
                                     javax.persistence.EntityManager entityManager)
        A strategy method to lock an object with an exclusive lock so that it can be processed
        Parameters:
        entity - the entity to be locked
        entityManager - entity manager
        Returns:
        true if the entity was locked
      • createQueryFactory

        protected QueryFactory createQueryFactory()
      • getEntityName

        protected String getEntityName​(Class<?> clazz)
      • checkParameters

        protected boolean checkParameters​(Method method)
      • configureParameters

        protected void configureParameters​(javax.persistence.Query query)
      • createExchange

        protected org.apache.camel.Exchange createExchange​(Object result,
                                                           javax.persistence.EntityManager entityManager)
      • doInit

        protected void doInit()
                       throws Exception
        Overrides:
        doInit in class org.apache.camel.support.ScheduledPollConsumer
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.ScheduledPollConsumer
        Throws:
        Exception
      • doShutdown

        protected void doShutdown()
                           throws Exception
        Overrides:
        doShutdown in class org.apache.camel.support.ScheduledPollConsumer
        Throws:
        Exception