繁体   English   中英

生产者和消费者如何绑定Spring云stream绑定?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM