Camel - Как настроить redeliver только для HTTP Code 500 series - PullRequest
0 голосов
/ 11 декабря 2018

Я настроил свойства, связанные с повторной доставкой, следующим образом.На самом деле, я хотел повторить попытку только для серии HTTP Code 500x.Но я вижу, что onException () принимает только тип исключения.Как этого добиться?Мое приложение основано на весенней загрузке и на верблюде. ​​

errorHandler (defaultErrorHandler (). MaximumRedeliveries (3) .redeliveryDelay (5000) .logRetryAttempted (true) .logExhausted (true));

onException () .retryAttemptedLogLevel (LoggingLevel.WARN)

Верблюд 2.23 - это версия, которую я использую (согласно комментарию).

1 Ответ

0 голосов
/ 12 декабря 2018

Нужна дополнительная информация, как вы получаете соответствующий код.
Если вы получаете ответ от верблюжьего маршрута, вы можете добавить условие в маршрут:

.choice().when().simple("header.HTTP_RESPONSE_CODE >= 500").errorHandler(defaultErrorHandler().maximumRedeliveries(3).redeliveryDelay(5000).logRetryAttempted(true).logExhausted(true)).end();
...