Использование OnException в маршруте, содержащем агрегатор

Я пытаюсь использовать в своем маршруте предложение onException, в котором также есть агрегатор. Я ожидал, что всякий раз, когда генерируется исключение в методе aggregate() моего агрегатора, предложение OnException должно его перехватить, обработать и повторно доставить. Однако этого, похоже, не происходит. Может кто-нибудь, пожалуйста, предложите, где я иду не так.

from("jms:queue:start?concurrentConsumers=10").routeId("testRoute")
        .onException(Exception.class).log("Exception caught").process(new Processor() {

            @Override
            public void process(Exchange exchange) throws Exception {
                logger.debug("****Exception caught***");

            }
        })
        .handled(true).maximumRedeliveries(-1).end()
        .transacted()
        .aggregate(header("correlationHeader"), new CustomAggregator())
        .completionSize(50).
    to("jms:queue:end");

где CustomAggregator - мой агрегатор, и в его агрегатном методе я выбрасываю исключение, чтобы проверить мою обработку исключений.

Любая помощь или предложение приветствуется.

0 ответов

Другие вопросы по тегам