Бит новичка Camel, но здесь идет.
У меня есть следующий маршрут:
from("activemq:queue:outputQueue").inputType(HelloWorld.class)
.to("log:stream")
.marshal().json(JsonLibrary.Jackson, HelloWorld.class)
.to("http:localhost:5000/messageForYouSir?bridgeEndpoint=true");
Это извлекает сообщения из очереди и отправляет их на конечную точку HTTP как JSON.Хорошо.
Но что, если возникнет ошибка?Скажите код ошибки HTTP 400?Тогда я хочу, чтобы сообщение оставалось в очереди.Я попытался проверить, что сообщение не подтверждено, но не смог заставить его работать.
Также я создал обработчик исключений
onException(HttpOperationFailedException.class)
.handled(false)
.setBody().constant("Vi fekk ein feil");
Но сообщения все еще не были отправлены.очередь.Есть ли какое-то волшебное заклинание, которое может заставить Верблюда не распознавать сообщения, когда есть какая-то ошибка?