使用 Spring AMQP + RabbitMQ 自动装配交换、队列和绑定(Spring Boot)
Autowiring of exchange, queue and binding with Spring AMQP + RabbitMQ (Spring Boot)
在 Spring 文档中 Messaging with RabbitMQ、rabbitTemplate
、queue
、exchange
和 binding
都是由 Spring 引导。我不明白的是 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);
...我如何获得对 created exchange
的引用?
谢谢。
Boot的RabbitAutoConfiguration
只注册了连接工厂,一个RabbitAdmin
一个RabbitTemplate
和一个RabbitMessagingTemplate
.
该指南声明了自己的交换、队列和绑定。
您可以简单地 @Autowire
正常交换并调用 getName()
。
在 Spring 文档中 Messaging with RabbitMQ、rabbitTemplate
、queue
、exchange
和 binding
都是由 Spring 引导。我不明白的是 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);
...我如何获得对 created exchange
的引用?
谢谢。
Boot的RabbitAutoConfiguration
只注册了连接工厂,一个RabbitAdmin
一个RabbitTemplate
和一个RabbitMessagingTemplate
.
该指南声明了自己的交换、队列和绑定。
您可以简单地 @Autowire
正常交换并调用 getName()
。