MessageProperties中的属性设置的疑问?
来源:8-7 消息回调逻辑实现

慕沐3053333
2021-05-09
消息返回时由于没有correlationData,所以您在消息的MessageProperties中设置了MessageId。可是我看MessageProperties不仅仅可以设置MessageId,还可以设置DeliveryTag等,这两个属性在使用上有什么区别呢?
比如生产者完全也可以设置id到属性DeliveryTag,返回消息时再取出DeliveryTag属性的值,也就是唯一id,再重新持久化。这样效果不也是和设置MessageId属性一样吗?
写回答
1回答
-
Moody
2021-05-10
一般来讲不用DeliveryTag作为消息ID,因为:
按照Rabbit官方的习惯,DeliveryTag是channel唯一的,并不是全局唯一。每个客户端或者每个channel之间可能是重复的,作为消息ID不太合适。
00
相似问题