使用插件使用消息时,您可以访问原始消息及其标头/属性。
使用 rabbitSend 方法发送消息时,从文档 ( http://grails-plugins.github.com/grails-rabbitmq/docs/manual/ref/All%20Classes/rabbitSend.html ) 中可以看出,您只能设置交换名称、路由密钥和消息正文。
使用 rabbitSend 方法发送消息时如何设置这些标头/属性?
使用插件使用消息时,您可以访问原始消息及其标头/属性。
使用 rabbitSend 方法发送消息时,从文档 ( http://grails-plugins.github.com/grails-rabbitmq/docs/manual/ref/All%20Classes/rabbitSend.html ) 中可以看出,您只能设置交换名称、路由密钥和消息正文。
使用 rabbitSend 方法发送消息时如何设置这些标头/属性?
目前,您似乎需要使用底层的 rabbitTemplate.convertAndSend() 方法。插件文档中指向 RabbitTemplate Javadoc 的链接目前已损坏,它应该指向http://static.springsource.org/spring-amqp/api/org/springframework/amqp/rabbit/core/RabbitTemplate.html
我在 Grails JIRA http://jira.grails.org/browse/GPRABBITMQ-7上找到了使用 rabbitTemplate.convertAndSend() 方法设置消息属性的示例
rabbitTemplate.convertAndSend "amq.direct", "work", payload, ({ Message msg ->
msg.messageProperties.replyTo = new Address("work.reply")
return msg
} as MessagePostProcessor)