Package org.apache.camel.component.jpa
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
-
-
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 booleancheckParameters(Method method)protected voidconfigureParameters(javax.persistence.Query query)protected DeleteHandler<Object>createDeleteHandler()protected org.apache.camel.ExchangecreateExchange(Object result, javax.persistence.EntityManager entityManager)protected DeleteHandler<Object>createPreDeleteHandler()protected QueryFactorycreateQueryFactory()protected voiddoInit()protected voiddoShutdown()protected voiddoStop()DeleteHandler<Object>getDeleteHandler()JpaEndpointgetEndpoint()protected StringgetEntityName(Class<?> clazz)javax.persistence.LockModeTypegetLockModeType()StringgetNamedQuery()StringgetNativeQuery()Map<String,Object>getParameters()DeleteHandler<Object>getPreDeleteHandler()StringgetQuery()QueryFactorygetQueryFactory()Class<?>getResultClass()booleanisSkipLockedEntity()booleanisTransacted()protected booleanlockEntity(Object entity, javax.persistence.EntityManager entityManager)A strategy method to lock an object with an exclusive lock so that it can be processedprotected intpoll()intprocessBatch(Queue<Object> exchanges)voidsetDeleteHandler(DeleteHandler<Object> deleteHandler)voidsetLockModeType(javax.persistence.LockModeType lockModeType)voidsetNamedQuery(String namedQuery)voidsetNativeQuery(String nativeQuery)voidsetParameters(Map<String,Object> params)voidsetPreDeleteHandler(DeleteHandler<Object> preDeleteHandler)voidsetQuery(String query)voidsetQueryFactory(QueryFactory queryFactory)voidsetResultClass(Class<?> resultClass)voidsetSkipLockedEntity(boolean skipLockedEntity)Sets whether to use NOWAIT on lock and silently skip the entity.voidsetTransacted(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, 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 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
-
-
-
-
Constructor Detail
-
JpaConsumer
public JpaConsumer(JpaEndpoint endpoint, org.apache.camel.Processor processor)
-
-
Method Detail
-
poll
protected int poll() throws Exception- Specified by:
pollin classorg.apache.camel.support.ScheduledPollConsumer- Throws:
Exception
-
getEndpoint
public JpaEndpoint getEndpoint()
- Specified by:
getEndpointin interfaceorg.apache.camel.EndpointAware- Overrides:
getEndpointin classorg.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)
-
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 lockedentityManager- entity manager- Returns:
- true if the entity was locked
-
createQueryFactory
protected QueryFactory createQueryFactory()
-
createPreDeleteHandler
protected DeleteHandler<Object> createPreDeleteHandler()
-
createDeleteHandler
protected DeleteHandler<Object> createDeleteHandler()
-
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:
doInitin classorg.apache.camel.support.ScheduledPollConsumer- Throws:
Exception
-
doStop
protected void doStop() throws Exception- Overrides:
doStopin classorg.apache.camel.support.ScheduledPollConsumer- Throws:
Exception
-
-