public class DefaultExceptionPolicyStrategy extends Object implements ExceptionPolicyStrategy
OnExceptionDefinition that should
handle the thrown exception.
Selection strategy:
createExceptionIterator(Throwable)
provides the Iterator used for the walking.filter(org.apache.camel.model.OnExceptionDefinition, Class, Throwable) method.
By default the filter uses instanceof test.OnExceptionDefinition has a when defined with an expression the type is also matches against
the current exchange using the matchesWhen(org.apache.camel.model.OnExceptionDefinition, org.apache.camel.Exchange)
method. This can be used to for more fine grained matching, so you can e.g. define multiple sets of
exception types with the same exception class(es) but have a predicate attached to select which to select at runtime.| Constructor and Description |
|---|
DefaultExceptionPolicyStrategy() |
| Modifier and Type | Method and Description |
|---|---|
protected Iterator<Throwable> |
createExceptionIterator(Throwable exception)
Strategy method creating the iterator to walk the exception in the order Camel should use
for find the
OnExceptionDefinition should be used. |
protected boolean |
filter(OnExceptionDefinition type,
Class<?> exceptionClass,
Throwable exception)
Strategy to filter the given type exception class with the thrown exception
|
OnExceptionDefinition |
getExceptionPolicy(Map<ExceptionPolicyKey,OnExceptionDefinition> exceptionPolicies,
Exchange exchange,
Throwable exception)
Resolves the
OnExceptionDefinition that should handle the thrown exception. |
protected boolean |
matchesWhen(OnExceptionDefinition definition,
Exchange exchange)
Strategy method for matching the exception type with the current exchange.
|
public OnExceptionDefinition getExceptionPolicy(Map<ExceptionPolicyKey,OnExceptionDefinition> exceptionPolicies, Exchange exchange, Throwable exception)
ExceptionPolicyStrategyOnExceptionDefinition that should handle the thrown exception.getExceptionPolicy in interface ExceptionPolicyStrategyexceptionPolicies - the configured exception policies to resolve fromexchange - the exchangeexception - the exception that was thrownprotected boolean filter(OnExceptionDefinition type, Class<?> exceptionClass, Throwable exception)
type - the exception typeexceptionClass - the current exception class for testingexception - the thrown exceptionprotected boolean matchesWhen(OnExceptionDefinition definition, Exchange exchange)
definition - the exception definitionexchange - the current Exchangeprotected Iterator<Throwable> createExceptionIterator(Throwable exception)
OnExceptionDefinition should be used.
The default iterator will walk from the bottom upwards
(the last caused by going upwards to the exception)exception - the exceptionApache Camel