![](/img/trans.png)
[英]Bind RabbitMQ consumer using Spring Cloud Stream to RabbitMQ producer
[英]How to bind Spring cloud stream binding for producer and consumer?
我是 Spring 云和 RabbitMQ 的新手。我正在尝试从 Rabbit MQ 生成和使用消息。 我在为生产者和消费者配置交换名称和队列名称时遇到困难。
我想连接到名为order
的现有交换和名为myQueue
的现有队列
下面是 application.properties
spring.rabbitmq.addresses=amqp://user:pass@localhost:5672/ spring.cloud.stream.function.bindings.processTable-out-0=order spring.cloud.stream.function.bindings.processTable-in-0=order spring.cloud.stream.bindings.order.group=myQueue spring.cloud.stream.bindings.order.content-type=application/json
上面的配置连接到order
交换,但是,它正在创建并连接一个名为order.myQueue
的新队列。
消费者方法如下。
@Bean
public Consumer<String> processTable(){
log.info("Conuming message......................");
Consumer<String> consumer = (request)-> System.out.println(request);
System.out.println(consumer);
return consumer;
}
我需要在application.properties
中进行哪些调整才能连接到order
交换和myOrder
队列?
请参阅使用现有队列/交换。
如果您有想要使用的现有交换器/队列,则可以完全禁用自动配置,如下所示,假设交换器名为 myExchange,队列名为 myQueue:
spring.cloud.stream.bindings..destination=myExchange
spring.cloud.stream.bindings..group=myQueue
spring.cloud.stream.rabbit.bindings..consumer.bindQueue=false
spring.cloud.stream.rabbit.bindings..consumer.declareExchange=false
spring.cloud.stream.rabbit.bindings..consumer.queueNameGroupOnly=true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.