当我发送到Rabbit Mq Queue时,我想要一些messageId,我将在使用jms发送到IBM MQ时获得。我在Spring Boot中使用spring MQ amqp starter依赖项。配置仅在application.yml(属性文件)中完成。我正在使用Rabbit模板进行发送。
rabbitMqTemplate.convertAndSend(EMPTY_STRING,queueName, message, messagePostProcessor);
我试过了messagePostProcessor。任何帮助表示赞赏。我看了下面的内容。但不明白如何实施。是否需要特殊配置(connectionfactory / container)?
答案 0 :(得分:1)
与JMS不同,兔子客户端不会分配消息ID。
但是,您可以配置RabbitTemplate
' MessageConverter
来创建一个ID,然后您可以使用后处理器检索。
请参阅AbstractMessageConverter
...
/**
* Flag to indicate that new messages should have unique identifiers added to their properties before sending.
* Default false.
* @param createMessageIds the flag value to set
*/
public void setCreateMessageIds(boolean createMessageIds) {
this.createMessageIds = createMessageIds;
}
有关消息确认,请参阅reference manual。但这与消息id属性无关。