Использование Spring Boot Camel с DelayedDelievery приводит к блокировке Consumer до тех пор, пока не исчерпаются повторJAVA

Программисты JAVA общаются здесь
Anonymous
Использование Spring Boot Camel с DelayedDelievery приводит к блокировке Consumer до тех пор, пока не исчерпаются повтор

Сообщение Anonymous »

Мы реализуем решение с использованием Apache Camel со Spring Boot. Наше требование — настроить систему на повтор неудачных событий в течение указанного количества итераций, прежде чем направлять их в очередь недоставленных писем (DLQ).
Однако мы столкнулись с проблемой, когда во время В процессе повторной попытки оказывается, что потребитель основной очереди заблокирован. В результате новые события либо не обрабатываются, либо отбрасываются.
Мы настроили механизмы обработки исключений и повторных попыток следующим образом:
Могут Подскажите, пожалуйста, как решить эту проблему, или предложите потенциальные решения, позволяющие гарантировать, что новые события будут продолжать обрабатываться при повторной попытке неудачных событий?

Код: Выделить всё

onException(ReplayableException.class)
.asyncDelayedRedelivery()
.maximumRedeliveries(5) // Retry
.redeliveryDelay(2L *1000)  // Delay between retries (in milliseconds)
.maximumRedeliveryDelay(16L* 60L *1000) // Maximum delay between retries
.backOffMultiplier(2)
.handled(true) // Mark the exception as handled
.to(getPointsToRewardDLQ())
.log("Exception handled: ${exception.message}, message sent to DLQ")
.logExhaustedMessageHistory(true)
.end();
как решить эту проблему или предложить потенциальные решения, позволяющие гарантировать, что новые события будут продолжать обрабатываться при повторной попытке неудачных событий?

Подробнее здесь: https://stackoverflow.com/questions/789 ... k-until-re

Вернуться в «JAVA»