Class JpaConsumer

  • All Implemented Interfaces:
    AutoCloseable, Runnable, org.apache.camel.BatchConsumer, 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.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)  
    • 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