Однако мы столкнулись с проблемой, когда во время В процессе повторной попытки оказывается, что потребитель основной очереди заблокирован. В результате новые события либо не используются, либо отбрасываются.
Мы настроили механизмы обработки исключений и повторных попыток следующим образом:
Нужно рекомендации о том, как решить эту проблему, или предложить потенциальные решения, обеспечивающие продолжение обработки новых событий при повторной попытке неудачных событий?
Код: Выделить всё
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(getDLQRoute())
.log("Exception handled: ${exception.message}, message sent to DLQ")
.logExhaustedMessageHistory(true)
.end();
Подробнее здесь: https://stackoverflow.com/questions/789 ... k-until-re
Мобильная версия