jmsMessage.setJMSMessageID(…)不工作?(如何将自定义messageID设置为JMS消息?)

jmsMessage.setJMSMessageID(…)不工作?(如何将自定义messageID设置为JMS消息?),jms,hornetq,Jms,Hornetq,我想按顺序1,2,3设置JMSMessageId。。。。在HornetQ中发送JMS消息时。但每当我尝试将自定义MessageID设置为JMS消息时,在使用者端,同一JMS消息的MessageID是不同的 在这样做时,我发现JMS MessageID有一些特定的格式。那么如何设置自定义的MessageID呢?根据API文档 JMS提供程序在发送消息时设置messageID字段 在发送消息之前,不能使用自己的JMSMessageID覆盖JMS提供程序设置的messageID。您想设置自己的邮件I

我想按顺序1,2,3设置JMSMessageId。。。。在HornetQ中发送JMS消息时。但每当我尝试将自定义MessageID设置为JMS消息时,在使用者端,同一JMS消息的MessageID是不同的


在这样做时,我发现JMS MessageID有一些特定的格式。那么如何设置自定义的MessageID呢?

根据API文档

JMS提供程序在发送消息时设置messageID字段

在发送消息之前,不能使用自己的JMSMessageID覆盖JMS提供程序设置的messageID。您想设置自己的邮件ID有什么特殊原因吗


如果您要监视一个序列,也许您可以考虑将这些信息存储在消息本身的内容中,或者作为消息属性。

< P>我使用SETJMSCORRANDID来设置自定义ID。在接收器端,您可以使用GETJMSCORGRANDID来检索相同的……/P>是的,您可以设置定制的JMSMeSeAdID,但这只能在信息发送后才能完成。这可能发生在发送消息后的发送方,或接收消息后的接收方。请注意,无论发生什么情况,接收方都无法接收自定义的JMSMessageID。因此,如果消费者不读取相同的messageID,则在发送消息后设置自定义的JMS messageID是没有意义的。。实际上,我的要求是将同一个msgID(定制)设置为响应消息的correlationid…..我如何实现它?您根本无法操纵JMSMessageID。尝试在JMS消息体本身内部设置所需的内容。例如,您可以放置内容:“customid:12345”,然后从消息正文中读取该值。这样,您根本不必接触JMSMessageID头。因为如果我们不能操作JMS MessageID,那么他们就不应该指定设置MessageID的api(setJMSMessageID())…应该使用api setJMSMessageID(…)…是的,我确信您根本无法操作JMSMessageID。请参阅上面提供的javadoc链接。这在javadocs中有明确的说明。API setJMSMessageID()是为JMS提供程序提供的,用于在发送消息之前设置messageID,而不是为开发人员提供的。。除非您希望在收到消息后修改JMSMessageID,否则这不是您在这里试图实现的。是的,这就是方法!