为什么 ConfirmCallback#confirm#CorrelationData 只有一个 属性 id 而不是整个消息,以便我可以立即重新发送消息

Why ConfirmCallback#confirm#CorrelationData has only one property id rather than the entire message so that i can resend message immediately

我正在尝试使用 ConfirmCallback.

进行一些有关消息传递可靠性的工作

到目前为止我已经完成了这些:

1.When 我发送一条消息,我将它保存在数据库中(有一个名为 status 的字段指示消息是否成功到达代理)。消息 ID 将存储在 correlationData 中。

2.Using ConfirmCallback,如果确认,我会将 Message#status 更新为成功。(我可以从 CorrelationData 获取消息 ID)

3.Using定时任务查找未发送成功的消息,重新发送

我想知道为什么ConfirmCallback#confirm#CorrelationData只有一个属性 id而不是整个消息,这样我就可以立即重发消息。(这样我就不需要持久化消息了)。

有没有其他方法可以确保消息发送成功?

如有任何建议,我们将不胜感激。

您可以分classCorrelationData添加留言。