Использование 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 - мой агрегатор, и в его агрегатном методе я выбрасываю исключение, чтобы проверить мою обработку исключений.
Любая помощь или предложение приветствуется.