【发布时间】:2019-06-24 22:47:35
【问题描述】:
我想在 HornetQ 中发送 JMS 消息时按 1、2、3.... 的顺序发送 setJMSMessageID。但是每当我尝试将自定义的 MessageID 设置为 JMS 消息时,在消费者端,同一 JMS 消息的 MessageID 是不同的。
这样做时,我发现 JMS MessageID 有一些特定的格式。那么如何设置我的自定义 MessageID?
【问题讨论】:
我想在 HornetQ 中发送 JMS 消息时按 1、2、3.... 的顺序发送 setJMSMessageID。但是每当我尝试将自定义的 MessageID 设置为 JMS 消息时,在消费者端,同一 JMS 消息的 MessageID 是不同的。
这样做时,我发现 JMS MessageID 有一些特定的格式。那么如何设置我的自定义 MessageID?
【问题讨论】:
根据 API 文档,
http://docs.oracle.com/javaee/5/api/javax/jms/Message.html#setJMSMessageID%28java.lang.String%29
JMS 提供程序在发送消息时设置 messageID 字段。
在发送消息之前,您不能用您自己的 JMSMessageID 覆盖 JMS 提供者设置的 messageID。您想设置自己的消息 ID 是否有特殊原因?
如果您希望监控序列,也许您可以考虑将此类信息存储在消息本身的内容中,或作为消息属性。
【讨论】:
我正在使用 setJMSCorrelationID 设置自定义 ID。在接收端,您可以使用 getJMSCorrelationID 来检索相同的..
【讨论】: