Class SimpleRetryExceptionHandler
java.lang.Object
org.springframework.batch.core.step.item.SimpleRetryExceptionHandler
- All Implemented Interfaces:
ExceptionHandler
,org.springframework.retry.RetryListener
public class SimpleRetryExceptionHandler
extends Object
implements org.springframework.retry.RetryListener, ExceptionHandler
An
ExceptionHandler
that is aware of the retry context so that it can
distinguish between a fatal exception and one that can be retried. Delegates the actual
exception handling to another ExceptionHandler
.- Author:
- Dave Syer
-
Constructor Summary
ConstructorDescriptionSimpleRetryExceptionHandler
(org.springframework.retry.RetryPolicy retryPolicy, ExceptionHandler exceptionHandler, Collection<Class<? extends Throwable>> fatalExceptionClasses) Create an exception handler from its mandatory properties. -
Method Summary
Modifier and TypeMethodDescription<T,
E extends Throwable>
voidclose
(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T, E> callback, Throwable throwable) If retry is exhausted set up some state in the context that can be used to signal that the exception should be handled.void
handleException
(RepeatContext context, Throwable throwable) Check if the exception is going to be retried, and veto the handling if it is.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.retry.RetryListener
onError, onSuccess, open
-
Constructor Details
-
SimpleRetryExceptionHandler
public SimpleRetryExceptionHandler(org.springframework.retry.RetryPolicy retryPolicy, ExceptionHandler exceptionHandler, Collection<Class<? extends Throwable>> fatalExceptionClasses) Create an exception handler from its mandatory properties.- Parameters:
retryPolicy
- the retry policy that will be under effect when an exception is encounteredexceptionHandler
- the delegate to use if an exception actually needs to be handledfatalExceptionClasses
- exceptions
-
-
Method Details
-
handleException
Check if the exception is going to be retried, and veto the handling if it is. If retry is exhausted or the exception is on the fatal list, then handle using the delegate.- Specified by:
handleException
in interfaceExceptionHandler
- Parameters:
context
- the currentRepeatContext
. Can be used to store state (via attributes), for example to count the number of occurrences of a particular exception type and implement a threshold policy.throwable
- an exception.- Throws:
Throwable
- implementations are free to re-throw the exception- See Also:
-
close
public <T,E extends Throwable> void close(org.springframework.retry.RetryContext context, org.springframework.retry.RetryCallback<T, E> callback, Throwable throwable) If retry is exhausted set up some state in the context that can be used to signal that the exception should be handled.- Specified by:
close
in interfaceorg.springframework.retry.RetryListener
- See Also:
-
RetryListener.close(org.springframework.retry.RetryContext, org.springframework.retry.RetryCallback, java.lang.Throwable)
-