|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.batch.repeat.exception.SimpleLimitExceptionHandler
public class SimpleLimitExceptionHandler
Simple implementation of exception handler which looks for given exception types. If one of the types is found then a counter is incremented and the limit is checked to determine if it has been exceeded and the Throwable should be re-thrown. Also allows to specify list of 'fatal' exceptions that are never subject to counting, but are immediately re-thrown. The fatal list has higher priority so the two lists needn't be exclusive.
Constructor Summary | |
---|---|
SimpleLimitExceptionHandler()
Default constructor for the SimpleLimitExceptionHandler . |
|
SimpleLimitExceptionHandler(int limit)
Convenience constructor for the SimpleLimitExceptionHandler to
set the limit. |
Method Summary | |
---|---|
void |
afterPropertiesSet()
Apply the provided properties to create a delegate handler. |
void |
handleException(RepeatContext context,
Throwable throwable)
Rethrows only if the limit is breached for this context on the exception type specified. |
void |
setExceptionClasses(Collection<Class<? extends Throwable>> classes)
Setter for the exception classes that this handler counts. |
void |
setFatalExceptionClasses(Collection<Class<? extends Throwable>> fatalExceptionClasses)
Setter for the exception classes that shouldn't be counted, but rethrown immediately. |
void |
setLimit(int limit)
The limit on the given exception type within a single context before it is rethrown. |
void |
setUseParent(boolean useParent)
Flag to indicate the the exception counters should be shared between sibling contexts in a nested batch (i.e. inner loop). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SimpleLimitExceptionHandler(int limit)
SimpleLimitExceptionHandler
to
set the limit.
limit
- the limitpublic SimpleLimitExceptionHandler()
SimpleLimitExceptionHandler
.
Method Detail |
---|
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
InitializingBean.afterPropertiesSet()
public void setUseParent(boolean useParent)
useParent
- true if the parent context should be used to store the
counters.public void handleException(RepeatContext context, Throwable throwable) throws Throwable
handleException
in interface ExceptionHandler
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.
Throwable
- implementations are free to re-throw the exceptionsetExceptionClasses(Collection)
,
setLimit(int)
,
ExceptionHandler.handleException(org.springframework.batch.repeat.RepeatContext,
Throwable)
public void setLimit(int limit)
limit
- the limitpublic void setExceptionClasses(Collection<Class<? extends Throwable>> classes)
Exception
. If more exceptionClasses are specified handler uses
single counter that is incremented when one of the recognized exception
exceptionClasses is handled.
classes
- exceptionClassespublic void setFatalExceptionClasses(Collection<Class<? extends Throwable>> fatalExceptionClasses)
setExceptionClasses(Collection)
.
fatalExceptionClasses
- defaults to Error
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |