onException.handled (false) - любой вариант использования для этого сценария? - PullRequest
0 голосов
/ 20 июня 2019

В Apache Camel почти во всех случаях мы будем использовать onException(SomeException.class).handled(true).

. Есть ли случаи, когда нам нужно использовать onException(SomeException.class).handled(false)?

Если мы используем исключение onException(false), Исключение будет возвращено вызывающей стороне, даже если вы можете изменить тело в коде обработки (исходное распространение маршрута будет остановлено).Но если вы используете handled(false), то можем ли мы получить объект Exchange, чтобы получить исходное сообщение у вызывающей стороны?Вы получите только Исключение, верно?

1 Ответ

1 голос
/ 24 июня 2019

Пожалуйста, отметьте http://camel.465427.n5.nabble.com/What-s-the-Difference-between-handled-false-and-continued-true-and-more-td4302302.html

Как видите, Клаус Ибсен предлагает следующие правила:

  • handle (true) = исключениеобрабатывается и удаляется из обмена + маршрутизация прерывания
  • обрабатывается (ложь) = исключение не обрабатывается, поэтому оно будет сохранено как исключение в обмене + маршрутизация прерывания
  • продолжить (true) = обработано (true) + продолжить маршрутизацию
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...