Class RedeliveryErrorHandler.RedeliveryTask
java.lang.Object
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.RedeliveryTask
- All Implemented Interfaces:
Runnable,PooledExchangeTask
- Enclosing class:
RedeliveryErrorHandler
protected class RedeliveryErrorHandler.RedeliveryTask
extends Object
implements PooledExchangeTask, Runnable
Task to perform calling the processor and handling redelivery if it fails (more advanced than ProcessTask)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddeliverToFailureProcessor(org.apache.camel.Processor processor, boolean isDeadLetterChannel, org.apache.camel.Exchange exchange) All redelivery attempts failed so move the exchange to the dead letter queueprotected voidGives an optional configured redelivery processor a chance to process before the Exchange will be redelivered.protected voidprotected booleanprotected booleanprotected voidGives an optional configured OnExceptionOccurred processor a chance to process just after an exception was thrown while processing the Exchange.voidprepare(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) Prepares the task for the given exchange and its callbackprotected voidprepareExchangeAfterFailure(org.apache.camel.Exchange exchange, boolean isDeadLetterChannel, boolean shouldHandle, boolean shouldContinue) protected voidprepareExchangeForContinue(org.apache.camel.Exchange exchange, boolean isDeadLetterChannel) protected voidprotected voidvoidreset()Resets the task after its done and can be reused for another exchange.voidrun()Processing and redelivery logic.booleansleep()Method for sleeping during redelivery attempts.toString()
-
Constructor Details
-
RedeliveryTask
public RedeliveryTask()
-
-
Method Details
-
toString
-
prepare
public void prepare(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) Description copied from interface:PooledExchangeTaskPrepares the task for the given exchange and its callback- Specified by:
preparein interfacePooledExchangeTask- Parameters:
exchange- the exchangecallback- the callback
-
reset
public void reset()Description copied from interface:PooledExchangeTaskResets the task after its done and can be reused for another exchange.- Specified by:
resetin interfacePooledExchangeTask
-
run
public void run()Processing and redelivery logic. -
isRunAllowed
protected boolean isRunAllowed() -
isRedeliveryAllowed
protected boolean isRedeliveryAllowed() -
redeliver
protected void redeliver() -
prepareExchangeForContinue
protected void prepareExchangeForContinue(org.apache.camel.Exchange exchange, boolean isDeadLetterChannel) -
prepareExchangeForRedelivery
protected void prepareExchangeForRedelivery() -
handleException
protected void handleException() -
onExceptionOccurred
protected void onExceptionOccurred()Gives an optional configured OnExceptionOccurred processor a chance to process just after an exception was thrown while processing the Exchange. This allows to execute the processor at the same time the exception was thrown. -
deliverToOnRedeliveryProcessor
protected void deliverToOnRedeliveryProcessor()Gives an optional configured redelivery processor a chance to process before the Exchange will be redelivered. This can be used to alter the Exchange. -
deliverToFailureProcessor
protected void deliverToFailureProcessor(org.apache.camel.Processor processor, boolean isDeadLetterChannel, org.apache.camel.Exchange exchange) All redelivery attempts failed so move the exchange to the dead letter queue -
prepareExchangeAfterFailure
protected void prepareExchangeAfterFailure(org.apache.camel.Exchange exchange, boolean isDeadLetterChannel, boolean shouldHandle, boolean shouldContinue) -
sleep
Method for sleeping during redelivery attempts. This task is for the synchronous blocking. If using async delayed then a scheduled thread pool is used for sleeping and trigger redeliveries.- Throws:
InterruptedException
-