有没有办法使用 Spring 集成消息对象获取 JMSMessageID

Is there a way to get the JMSMessageID using Spring Integration Message Object

我们需要传递 JMSMessageID(由 IBM Mq Queuemanger 生成)。 我的问题是如何填充 MessageHeaders 中的值 org.springframework.messaging.MessageHeaders 并将其传递给我的 Activator。

是的。

DefaultJmsHeaderMapper 会将入站 JmsMessageId 作为 header jms_messageId 添加到 spring 集成消息的 MessageHeaders。

是的,jms_messageId 正在填充。我正在使用未通过 Quemanager 的 JUNIT 测试,因此我的程序未设置这些 header 值,因此我更改了 Junit 以复制它工作的 Headers。 非常感谢。

我的 junits 中有这样的东西

    Map<String, String> headersToCopy = new HashMap<String, String>();
    headersToCopy.put("JMSXUserID", "suren");
    headersToCopy.put("jms_messageId", "ID:1234567894444444444444");
    headersToCopy.put("JMS_IBM_MsgType", "8");
    headersToCopy.put("JMSXDeliveryCount", "1");