Vim*_*vid 7 java spring-integration rabbitmq spring-amqp
我正在使用一个使用Spring Boot版本2.0.4.RELEASE和RabbitMQ版本3.7.7 的Java应用程序.该应用程序正在缓存来自Redis数据库中RabbitMQ的所有消息,并且必须在RabbitMQ中创建新队列时重新发送.目前,我设法使用Event Exchange插件和队列名称捕获队列创建.我正在使用AMQP出站适配器将消息发送回RabbitMQ.
外流
public IntegrationFlow outFlow(AmqpTemplate amqpTemplate) {
return IntegrationFlows.from(outputChannel())
.handle(Amqp.outboundAdapter(amqpTemplate)
.routingKeyExpression("headers.routingKey")
.exchangeNameExpression("headers.exchange"))
.get();
}
Run Code Online (Sandbox Code Playgroud)
我可以使用routingKey将消息发送到特定的交换.但是,我不知道如何在出站适配器中配置队列名称.这样我就可以将消息发送到特定的队列.
如果要发送到特定队列,请使用队列名称作为路由键和默认全局交换 - 空名称。有一种特殊的直接交换器,所有队列都通过其名称作为路由键绑定到它。
有关更多信息,请参阅 AMQP 协议文档:https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchange-default