Аварийное переключение с верблюда - PullRequest
0 голосов
/ 16 марта 2020

У меня есть маршрут аварийного переключения, но я не хочу, чтобы глобальный обработчик исключений обрабатывал исключение при вызове первой конечной точки аварийного переключения. В приведенном ниже примере обработка исключений по-прежнему происходит независимо от того, какое значение я установил для поля 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}");
...