使用 Spring JMS 将消息发送到 Azure 服务总线时,消息 ID 会被覆盖。由于这个原因,重复检测没有按预期工作。我已经阅读了 JMS 文档,据说 JMSMessageId 不能由生产者设置,它由 JMS 保留供内部使用。现在的问题是如何设置 MessageID 来检测重复的消息。
请问这方面有什么帮助吗??下面提到了我尝试过的示例代码。
jmsTemplate.send(topicName, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
BytesMessage message = session.createBytesMessage();
message.setJMSMessageID("0111111-order");
message.setJMSCorrelationID("0111111");
message.writeBytes(strJsonOrder.getBytes());
return message;
}
});