我正在尝试通过使用 RabbitMQ 和 JAVA 来构建一种异步服务器。我有两个交易所 Original_Exch 和 Dead_Exch,每个都有一个队列。两个交换都被声明为 DLX(彼此队列的死信交换)。
现在问题来了,我以 json 字符串的形式向 Original_Exch 发布了一条消息,其中包含电子邮件信息(如收件人、主题、消息正文、附件等)。从绑定到 Original_exch 的队列中使用此消息后,我正在向指定的电子邮件地址发送电子邮件。如果电子邮件未成功发送,我会将此消息传输到 Dead_Exch,2 秒后(为此使用 TTL),该消息将再次传输到 Original_Exch。
让我们假设一个特定的消息由于连续失败而从一个交换移动到另一个交换的场景。在这种情况下,我想确保如果它已被转移到 Original_Exch 10 次,它应该从队列中永久删除(删除)并且不应该转移到 Dead_Exch。
几乎类似的问题有很多答案,但没有一个是令人满意的(从学习者的角度来看)。
谢谢..........