Spring jms and ibm mq



我想使用我的消息标识通过 IBM MQ 发送 jms 消息。我的代码

public void sendAntiFraudRq(String msg, String corr) {
    LOGGER.info("Sending to AntiFraud = {} with correlationID = {}", msg, corr);
    jmsTemplate.send(AntiFraudRqQueue, session -> {
        TextMessage message = session.createTextMessage(msg);
        message.setJMSCorrelationID(corr);
        message.setJMSMessageID(corr);
        return message;
    });
}

但是 IBM MQ 给我的信息这样的 id

<MessageID>ID:000d51204d515f544553545f43524d5fa9f7e55903d0ed56</MessageID>

我怎样才能得到它?

首先,不要设置自己的 MessageId - 这是个坏主意,违背了 IBM MQ 最佳实践。让 MQ 为您生成唯一的消息 ID。

其次,MQ 期望 MessageId 和 CorrelationId 都是 byte[],MQ 会将字节数组转换为可显示的十六进制,然后将其保存到标头中。 所以,你所看到的是正确的。

相关内容

  • 没有找到相关文章

最新更新