org.springframework.batch.core.step.item
Class SimpleRetryExceptionHandler
java.lang.Object
org.springframework.batch.retry.listener.RetryListenerSupport
org.springframework.batch.core.step.item.SimpleRetryExceptionHandler
- All Implemented Interfaces:
- ExceptionHandler, RetryListener
public class SimpleRetryExceptionHandler
- extends RetryListenerSupport
- implements 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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SimpleRetryExceptionHandler
public SimpleRetryExceptionHandler(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
-
handleException
public void handleException(RepeatContext context,
Throwable throwable)
throws Throwable
- 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 interface ExceptionHandler
- Parameters:
context
- the current RepeatContext
. 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:
ExceptionHandler.handleException(org.springframework.batch.repeat.RepeatContext,
java.lang.Throwable)
close
public <T> void close(RetryContext context,
RetryCallback<T> 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 interface RetryListener
- Overrides:
close
in class RetryListenerSupport
- Parameters:
context
- the current RetryContext
.callback
- the current RetryCallback
.throwable
- the last exception that was thrown by the callback.- See Also:
RetryListener.close(org.springframework.batch.retry.RetryContext,
org.springframework.batch.retry.RetryCallback, java.lang.Throwable)
Copyright © 2013 SpringSource. All Rights Reserved.