org.apache.camel.spring.spi
Class TransactionErrorHandler
java.lang.Object
org.apache.camel.impl.ServiceSupport
org.apache.camel.processor.ErrorHandlerSupport
org.apache.camel.processor.RedeliveryErrorHandler
org.apache.camel.spring.spi.TransactionErrorHandler
- All Implemented Interfaces:
- org.apache.camel.AsyncProcessor, org.apache.camel.Processor, org.apache.camel.processor.ErrorHandler, org.apache.camel.Service, org.apache.camel.ShutdownableService
public class TransactionErrorHandler
- extends org.apache.camel.processor.RedeliveryErrorHandler
The Transactional Client
EIP pattern.
- Version:
Nested classes/interfaces inherited from class org.apache.camel.processor.RedeliveryErrorHandler |
org.apache.camel.processor.RedeliveryErrorHandler.RedeliveryData |
Fields inherited from class org.apache.camel.processor.RedeliveryErrorHandler |
camelContext, deadLetter, deadLetterUri, executorServiceRef, logger, output, outputAsync, redeliveryEnabled, redeliveryPolicy, redeliveryProcessor, retryWhilePolicy, useOriginalMessagePolicy |
Fields inherited from class org.apache.camel.processor.ErrorHandlerSupport |
exceptionPolicies, exceptionPolicy, log |
Constructor Summary |
TransactionErrorHandler(org.apache.camel.CamelContext camelContext,
org.apache.camel.Processor output,
org.apache.camel.processor.CamelLogger logger,
org.apache.camel.Processor redeliveryProcessor,
org.apache.camel.processor.RedeliveryPolicy redeliveryPolicy,
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicyStrategy,
org.springframework.transaction.support.TransactionTemplate transactionTemplate,
org.apache.camel.Predicate retryWhile,
String executorServiceRef)
Creates the transaction error handler. |
Methods inherited from class org.apache.camel.processor.RedeliveryErrorHandler |
defensiveCopyExchangeIfNeeded, deliverToFailureProcessor, deliverToOnRedeliveryProcessor, doShutdown, doStart, doStop, getDeadLetter, getDeadLetterUri, getDefaultHandledPredicate, getLogger, getOutput, getRedeliveryPolicy, handleException, isCancelledOrInterrupted, isDone, isUseOriginalMessagePolicy, prepareExchangeAfterFailure, prepareExchangeForContinue, prepareExchangeForRedelivery, processAsyncErrorHandler, processErrorHandler, shouldHandleException |
Methods inherited from class org.apache.camel.processor.ErrorHandlerSupport |
addExceptionPolicy, createDefaultExceptionPolicyStrategy, customProcessorForException, getExceptionPolicy, setExceptionPolicy |
Methods inherited from class org.apache.camel.impl.ServiceSupport |
addChildService, doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
TransactionErrorHandler
public TransactionErrorHandler(org.apache.camel.CamelContext camelContext,
org.apache.camel.Processor output,
org.apache.camel.processor.CamelLogger logger,
org.apache.camel.Processor redeliveryProcessor,
org.apache.camel.processor.RedeliveryPolicy redeliveryPolicy,
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicyStrategy,
org.springframework.transaction.support.TransactionTemplate transactionTemplate,
org.apache.camel.Predicate retryWhile,
String executorServiceRef)
- 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 redeliveryexceptionPolicyStrategy
- strategy for onException handlingtransactionTemplate
- the transaction templateretryWhile
- retry whileexecutorServiceRef
- reference to a ScheduledExecutorService
to be used for redelivery thread pool. Can be null.
supportTransacted
public boolean supportTransacted()
- Overrides:
supportTransacted
in class org.apache.camel.processor.RedeliveryErrorHandler
toString
public String toString()
- Overrides:
toString
in class Object
process
public void process(org.apache.camel.Exchange exchange)
throws Exception
- Specified by:
process
in interface org.apache.camel.Processor
- Overrides:
process
in class org.apache.camel.processor.RedeliveryErrorHandler
- Throws:
Exception
process
public boolean process(org.apache.camel.Exchange exchange,
org.apache.camel.AsyncCallback callback)
- Specified by:
process
in interface org.apache.camel.AsyncProcessor
- Overrides:
process
in class org.apache.camel.processor.RedeliveryErrorHandler
processInTransaction
protected void processInTransaction(org.apache.camel.Exchange exchange)
throws Exception
- Throws:
Exception
doInTransactionTemplate
protected void doInTransactionTemplate(org.apache.camel.Exchange exchange)
processByErrorHandler
protected void processByErrorHandler(org.apache.camel.Exchange exchange)
- Processes the
Exchange
using 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
Apache CAMEL