在Messaging with RabbitMQ的Spring文档中,rabbitTemplate
,queue
,exchange
和binding
都是由Spring Boot设置的。我不明白的是rabbitTemplate.convertAndSend(...)
如何将它发送到创建的交换机,因为方法调用没有指定交换,它只包括路由密钥(通过队列名称)和消息本身 - 我想隐含地将消息发送到默认交换而不是创建的交换。由于路由密钥与队列名称匹配,因此消息将到达预期的队列。
如果我想指定交换和路由密钥,请使用此API方法:
// Convert a Java object to an Amqp Message and send it to
// a specific exchange with a specific routing key.
convertAndSend(String exchange, String routingKey, Object object);
...如何获取对创建的 exchange
的引用?
感谢。
答案 0 :(得分:3)
启动RabbitAutoConfiguration
仅注册连接工厂,RabbitAdmin
一个RabbitTemplate
和RabbitMessagingTemplate
。
该指南声明了自己的交换,队列和绑定。
您可以正常@Autowire
交换,并致电getName()
。