Верблюд явно обрабатывает две «области» обработки ошибок:
Проблема, с которой я сталкиваюсь, - это исключения, возникающие в «суб-маршруте». Например, у меня есть этот маршрут:
from("direct:sendToWebservice").
.processRef("massageBeforeSending").
.to("http://webservice.com").
.processRef("massageResponse");
Тогда у меня есть два других маршрута, которые должны отправлять сообщения в веб-сервис:
from(direct:fromSystemA").
.errorHandler(deadLetterChannel("direct:TellSystemA")).
.to("direct:sendToWebservice");
from(direct:fromSystemB").
.errorHandler(deadLetterChannel("direct:TellSystemB")).
.to("direct:sendToWebservice");
Я хотел бы, чтобы, если маршрут веб-службы генерировал исключение, он передавался до вызывающей стороны, и система A или система B получала уведомление. Я не вижу способа достичь этого.
Я чувствую, что это было бы распространенным случаем - кто-нибудь сталкивался с этим раньше?
Еще раз спасибо за ваше время,
Рой