使用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;
}
});