Spring Cloud Stream Router Sink——然后呢?
Spring Cloud Stream Router Sink -- then what?
我创建了一个 Spring 云数据流,它使用 router sink app from the Spring Cloud Stream starter apps. I'm using the one with RabbitMQ bindings. That automatically creates RabbitMQ Exchanges (type: topic) with the results of my router expressions. I think the next step is to create new Dataflows for each of those router results. However, the rabbit source starter app 只能配置为从队列中读取。当然,我可以手动创建队列并将它们绑定到自动创建的交换器,但这是我应该做的吗?或者是否有一些我缺少的配置会导致自动创建和绑定队列?
每次您创建作为目标侦听器的源应用程序时,默认情况下都会使用活页夹的目标供应商自动创建该目标。
因此,本质上,您在生产者应用程序之前创建消费者应用程序,以确保这些目的地在将消息发送到此类目的地之前就已存在。在自动为您完成的数据流中 - "right-to-left" 应用程序的启动顺序,以确保消费者在生产者之前启动。
你问的是这个吗?
Rabbit 源应用旨在从现有基础设施中使用 - 队列必须已经存在(类似于接收器)。
要使用数据流从动态创建的目的地消费,您可以使用Named Destinations。
stream create fromDynDest --definition=":myRoutedDest > process1 | process2 | sink"
甚至
stream create fromDynDest --definition=":myRoutedDest > sink"
我创建了一个 Spring 云数据流,它使用 router sink app from the Spring Cloud Stream starter apps. I'm using the one with RabbitMQ bindings. That automatically creates RabbitMQ Exchanges (type: topic) with the results of my router expressions. I think the next step is to create new Dataflows for each of those router results. However, the rabbit source starter app 只能配置为从队列中读取。当然,我可以手动创建队列并将它们绑定到自动创建的交换器,但这是我应该做的吗?或者是否有一些我缺少的配置会导致自动创建和绑定队列?
每次您创建作为目标侦听器的源应用程序时,默认情况下都会使用活页夹的目标供应商自动创建该目标。 因此,本质上,您在生产者应用程序之前创建消费者应用程序,以确保这些目的地在将消息发送到此类目的地之前就已存在。在自动为您完成的数据流中 - "right-to-left" 应用程序的启动顺序,以确保消费者在生产者之前启动。
你问的是这个吗?
Rabbit 源应用旨在从现有基础设施中使用 - 队列必须已经存在(类似于接收器)。
要使用数据流从动态创建的目的地消费,您可以使用Named Destinations。
stream create fromDynDest --definition=":myRoutedDest > process1 | process2 | sink"
甚至
stream create fromDynDest --definition=":myRoutedDest > sink"