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 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 processedprotected 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, 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:
poll
in classorg.apache.camel.support.ScheduledPollConsumer
- Throws:
Exception
-
getEndpoint
public JpaEndpoint getEndpoint()
- Specified by:
getEndpoint
in interfaceorg.apache.camel.EndpointAware
- Overrides:
getEndpoint
in 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:
doInit
in classorg.apache.camel.support.ScheduledPollConsumer
- Throws:
Exception
-
doStop
protected void doStop() throws Exception
- Overrides:
doStop
in classorg.apache.camel.support.ScheduledPollConsumer
- Throws:
Exception
-
-