2017-06-22 64 views
0

我使用的RabbitMQ在云流中间件,当我配置application.yml使用在春季云流的目的,具有RabbitMQ的

spring: 
    cloud: 
    stream: 
     bindings: 
     usertest:  #channelName 
      content-type: application/json 
      group: testGroup 
      destination: topic888 #destination, 
      binder: rabbit1 

我无法理解目标的关键意义。 正式的定义为:

目的地

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

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

回答

0

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

生产者发布到交易所。

消费者将队列绑定到交易所。匿名消费者绑定临时自动删除队列,消费者在您的案例(destination.group)中绑定一个名为topic888.testGroup的队列group

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

由于上面讨论的原因,我不明白这是如何可能的,与活页夹进行供应。

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