使用rabbitmq在春天云流中使用目的地

时间:2017-06-22 02:24:59

标签: rabbitmq spring-cloud-stream spring-rabbitmq

当我配置application.yml

时,我使用rabbitmq作为云流中的中间件
spring:
  cloud:
    stream:
      bindings:
        usertest:       #channelName 
          content-type: application/json
          group: testGroup
          destination: topic888 #destination,
          binder: rabbit1

我无法理解目的地的关键含义。 官方定义是:

  

目标

     

绑定中间件上的通道的目标目标(例如,RabbitMQ交换或Kafka主题)。如果通道绑定为使用者,则可以绑定到多个目标,并且可以将目标名称指定为逗号分隔的String值。如果未设置,则使用通道名称。

此外,我发现当消费者和生产者有不同的目的地时,它确实阻止了消费者的消费。

1 个答案:

答案 0 :(得分:1)

destination取决于活页夹类型。对于卡夫卡来说,这是主题;对于RabbitMQ,它是一个交换。

制片人发布到交易所。

消费者将队列绑定到交换机。匿名使用者绑定临时自动删除队列,使用group的使用者绑定一个名为topic888.testGroup的队列(destination.group)。

  

此外,我发现当消费者和生产者有不同的目的地时,它并没有阻止消费者消费。

由于上面讨论的原因,我没有看到绑定器进行配置的可行性。

如果您手动将具有正确名称的队列绑定到生产者发布到的其他交换所,则可能。