我目前正在研究Quarkus中的Smallrye Reactive Messaging集成。乍一看,发送和接收消息确实非常简单,优雅。
但是我没有发现的一件事是:如何处理邮件的重新发送?
示例:我们收到一条消息,并尝试对其进行处理。发生某些异常(例如,数据库不可用或乐观锁异常等)。 在这种情况下,我将引发异常,以便不确认该消息。但是目前我看不到如何重新发送邮件。
我建立了一个小的虚拟项目来对此进行测试:
如果我关闭Quarkus App,则可以在Artemis队列中再次看到该消息,并且重新传递的标志设置为true。
但是我找不到如何在Smallrye反应消息中管理/配置重新交付的方法,以便该层处理消息的重新交付n次,并在最大重试次数之后将消息放入DLQ中。
有什么办法吗?