使用 Spring AMQP + RabbitMQ 自动装配交换、队列和绑定(Spring Boot)

Autowiring of exchange, queue and binding with Spring AMQP + RabbitMQ (Spring Boot)

在 Spring 文档中 Messaging with RabbitMQrabbitTemplatequeueexchangebinding 都是由 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()