Class JpaConsumer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultConsumer
org.apache.camel.support.ScheduledPollConsumer
org.apache.camel.support.ScheduledBatchPollingConsumer
org.apache.camel.component.jpa.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

    Modifier and Type
    Method
    Description
    protected boolean
     
    protected void
    configureParameters(jakarta.persistence.Query query)
     
     
    protected org.apache.camel.Exchange
    createExchange(Object result, jakarta.persistence.EntityManager entityManager)
     
     
    protected QueryFactory
     
    protected void
     
    protected void
     
    protected void
     
     
     
    protected String
    getEntityName(Class<?> clazz)
     
    jakarta.persistence.LockModeType
     
     
     
     
     
     
     
     
    boolean
     
    boolean
     
    protected boolean
    lockEntity(Object entity, jakarta.persistence.EntityManager entityManager)
    A strategy method to lock an object with an exclusive lock so that it can be processed
    protected int
     
    int
     
    void
     
    void
    setLockModeType(jakarta.persistence.LockModeType lockModeType)
     
    void
    setNamedQuery(String namedQuery)
     
    void
    setNativeQuery(String nativeQuery)
     
    void
     
    void
     
    void
     
    void
     
    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, forceConsumerAsReady, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, initialHealthCheckState, isConsumerReady, 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, 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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

    • JpaConsumer

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

    • poll

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

      public int processBatch(Queue<Object> exchanges) throws Exception
      Throws:
      Exception
    • getEndpoint

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

      public QueryFactory getQueryFactory()
    • setQueryFactory

      public void setQueryFactory(QueryFactory queryFactory)
    • getDeleteHandler

      public DeleteHandler<Object> getDeleteHandler()
    • setDeleteHandler

      public void setDeleteHandler(DeleteHandler<Object> deleteHandler)
    • getPreDeleteHandler

      public DeleteHandler<Object> getPreDeleteHandler()
    • setPreDeleteHandler

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

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

      public Map<String,Object> getParameters()
    • getNamedQuery

      public String getNamedQuery()
    • setNamedQuery

      public void setNamedQuery(String namedQuery)
    • getLockModeType

      public jakarta.persistence.LockModeType getLockModeType()
    • setLockModeType

      public void setLockModeType(jakarta.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, jakarta.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)
    • createPreDeleteHandler

      protected DeleteHandler<Object> createPreDeleteHandler()
    • createDeleteHandler

      protected DeleteHandler<Object> createDeleteHandler()
    • checkParameters

      protected boolean checkParameters(Method method)
    • configureParameters

      protected void configureParameters(jakarta.persistence.Query query)
    • createExchange

      protected org.apache.camel.Exchange createExchange(Object result, jakarta.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