使用Spring-boot和Spring-starter-amqp作爲我的消息傳遞應用程序。我的問題場景是這樣的:Spring RabbitMQ - Message Requeue limit
第一個問題:我想重發我的消息只有5次,然後消息應該從隊列中發出,如果發生業務異常(這裏我只關注業務異常)。
第二個問題:如果第一個用例是可能的,我們可以通過某種方式增加嘗試次數。假設在第一次嘗試時發生業務異常,它應該立即要求,但在第二次嘗試中,應該在2分鐘後然後4分鐘,然後6分鐘,然後8分鐘,然後10分鐘,如時間將根據嘗試增加。
感謝
不想使用代理插件;我們可以使用自定義攔截器來做到這一點嗎? – blackOcean
否;對於變量延遲,您將不得不使用延遲的消息交換插件或將消息自己發佈到DLQ你可以使用帶有messageProperties.setExpiration()的'RabbitTemplate.send(message)''參見[這裏](https://www.rabbitmq.com/ttl.html) - Spring AMQP將映射到期 –
如果我使用RabbitTemplate.send(message)發送消息)和messageProperties.setExpiration()來延遲消息超時。我如何計算由於消費者的業務異常導致的失敗嘗試的次數 – blackOcean