У меня есть маршрут аварийного переключения, но я не хочу, чтобы глобальный обработчик исключений обрабатывал исключение при вызове первой конечной точки аварийного переключения. В приведенном ниже примере обработка исключений по-прежнему происходит независимо от того, какое значение я установил для поля inheritErrorHandler.
onException(IllegalArgumentException.class)
.maximumRedeliveries(1).redeliveryDelay(2000)
.retryAttemptedLogLevel(LoggingLevel.WARN)
.retriesExhaustedLogLevel(LoggingLevel.WARN)
.logStackTrace(false);
from("direct:start").routeId("start")
// use load balancer with failover strategy
// 1 = which will try 1 failover attempt before exhausting
// true = do use Camel error handling
// false = do not use round robin mode
.loadBalance().failover(1, false, false)
.to("direct:a").to("direct:b")
.end();
// service A
from("direct:a")
.log("A received: ${body}")
.throwException(new IllegalArgumentException("Dummy exception"));
// service B
from("direct:b")
.log("B received: ${body}");