Package org.apache.camel.spring.spi
Class TransactionErrorHandler
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.ChildServiceSupport
-
- org.apache.camel.processor.errorhandler.ErrorHandlerSupport
-
- org.apache.camel.processor.errorhandler.RedeliveryErrorHandler
-
- org.apache.camel.spring.spi.TransactionErrorHandler
-
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.AsyncProcessor,org.apache.camel.Navigate<org.apache.camel.Processor>,org.apache.camel.Processor,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.ErrorHandler,org.apache.camel.spi.ErrorHandlerRedeliveryCustomizer,org.apache.camel.spi.ShutdownPrepared,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
public class TransactionErrorHandler extends org.apache.camel.processor.errorhandler.RedeliveryErrorHandlerThe Transactional Client EIP pattern.
-
-
Field Summary
-
Fields inherited from class org.apache.camel.processor.errorhandler.RedeliveryErrorHandler
awaitManager, camelContext, customExchangeFormatter, deadLetter, deadLetterHandleNewException, deadLetterUri, exchangeFormatter, executorService, logger, onExceptionProcessor, onPrepareProcessor, output, outputAsync, preparingShutdown, reactiveExecutor, redeliveryEnabled, redeliveryPolicy, redeliveryProcessor, redeliverySleepCounter, retryWhilePolicy, shutdownStrategy, simpleTask, taskFactory, useOriginalBodyPolicy, useOriginalMessagePolicy
-
-
Constructor Summary
Constructors Constructor Description TransactionErrorHandler(org.apache.camel.CamelContext camelContext, org.apache.camel.Processor output, org.apache.camel.spi.CamelLogger logger, org.apache.camel.Processor redeliveryProcessor, org.apache.camel.processor.errorhandler.RedeliveryPolicy redeliveryPolicy, org.springframework.transaction.support.TransactionTemplate transactionTemplate, org.apache.camel.Predicate retryWhile, ScheduledExecutorService executorService, org.apache.camel.LoggingLevel rollbackLoggingLevel, org.apache.camel.Processor onExceptionOccurredProcessor)Creates the transaction error handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.camel.spi.ErrorHandlerclone(org.apache.camel.Processor output)protected voiddoInTransactionTemplate(org.apache.camel.Exchange exchange)voidprocess(org.apache.camel.Exchange exchange)booleanprocess(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)protected voidprocessByErrorHandler(org.apache.camel.Exchange exchange)Processes theExchangeusing the error handler.protected voidprocessInTransaction(org.apache.camel.Exchange exchange)booleansupportTransacted()StringtoString()-
Methods inherited from class org.apache.camel.processor.errorhandler.RedeliveryErrorHandler
changeOutput, defensiveCopyExchangeIfNeeded, determineIfRedeliveryIsEnabled, determineRedeliveryDelay, doShutdown, doStart, doStop, getDeadLetter, getDeadLetterUri, getDefaultHandledPredicate, getLogger, getOutput, getRedeliveryPolicy, hasNext, isDeadLetterHandleNewException, isDone, isRunAllowedOnPreparingShutdown, isUseOriginalBodyPolicy, isUseOriginalMessagePolicy, next, prepareShutdown, processAsync
-
Methods inherited from class org.apache.camel.processor.errorhandler.ErrorHandlerSupport
addErrorHandler, addExceptionPolicy, getExceptionPolicy, isDeadLetterChannel
-
Methods inherited from class org.apache.camel.support.ChildServiceSupport
addChildService, removeChildService, shutdown, start, stop
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
TransactionErrorHandler
public TransactionErrorHandler(org.apache.camel.CamelContext camelContext, org.apache.camel.Processor output, org.apache.camel.spi.CamelLogger logger, org.apache.camel.Processor redeliveryProcessor, org.apache.camel.processor.errorhandler.RedeliveryPolicy redeliveryPolicy, org.springframework.transaction.support.TransactionTemplate transactionTemplate, org.apache.camel.Predicate retryWhile, ScheduledExecutorService executorService, org.apache.camel.LoggingLevel rollbackLoggingLevel, org.apache.camel.Processor onExceptionOccurredProcessor)Creates the transaction error handler.- Parameters:
camelContext- the camel contextoutput- outer processor that should use this default error handlerlogger- logger to use for logging failures and redelivery attemptsredeliveryProcessor- an optional processor to run before redelivery attemptredeliveryPolicy- policy for redeliverytransactionTemplate- the transaction templateretryWhile- retry whileexecutorService- theScheduledExecutorServiceto be used for redelivery thread pool. Can be null.rollbackLoggingLevel- logging level to use for logging transaction rollback occurredonExceptionOccurredProcessor- a customProcessorto process theExchangejust after an exception was thrown.
-
-
Method Detail
-
clone
public org.apache.camel.spi.ErrorHandler clone(org.apache.camel.Processor output)
- Specified by:
clonein classorg.apache.camel.processor.errorhandler.ErrorHandlerSupport
-
supportTransacted
public boolean supportTransacted()
- Overrides:
supportTransactedin classorg.apache.camel.processor.errorhandler.RedeliveryErrorHandler
-
process
public void process(org.apache.camel.Exchange exchange)
- Specified by:
processin interfaceorg.apache.camel.Processor- Overrides:
processin classorg.apache.camel.processor.errorhandler.RedeliveryErrorHandler
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)- Specified by:
processin interfaceorg.apache.camel.AsyncProcessor- Overrides:
processin classorg.apache.camel.processor.errorhandler.RedeliveryErrorHandler
-
processInTransaction
protected void processInTransaction(org.apache.camel.Exchange exchange)
-
doInTransactionTemplate
protected void doInTransactionTemplate(org.apache.camel.Exchange exchange)
-
processByErrorHandler
protected void processByErrorHandler(org.apache.camel.Exchange exchange)
Processes theExchangeusing the error handler. This implementation will invoke ensure this occurs synchronously, that means if the async routing engine did kick in, then this implementation will wait for the task to complete before it continues.- Parameters:
exchange- the exchange
-
-