Spring streamBridge在启动时创建rabbitmq队列
因为spring不推荐使用Spring streamBridge在启动时创建rabbitmq队列,rabbitmq,spring-cloud-stream,Rabbitmq,Spring Cloud Stream,因为spring不推荐使用org.springframework.cloud.stream.annotation.Outputannotation。 我正在使用streamBridge的新api 我想知道启动时自动创建队列的最佳方法是什么,就像注释的行为一样 我找到了一个解决方法,使用spring.cloud.stream.function.definition=myChannel创建队列 就像这个样本一样 @Bean fun myChannel(): Supplier<F
org.springframework.cloud.stream.annotation.Output
annotation。
我正在使用streamBridge的新api
我想知道启动时自动创建队列的最佳方法是什么,就像注释的行为一样
我找到了一个解决方法,使用spring.cloud.stream.function.definition=myChannel
创建队列
就像这个样本一样
@Bean
fun myChannel(): Supplier<Flux<Message<String>>> = Supplier {
Flux.empty()
}
当我使用@Output
注释时,队列是自动创建的
还有其他更优雅的解决方案吗?您仍然不需要这样做(预创建队列),因为一旦您执行第一个
streamBridge.send
,目标将被解析(将创建队列)并应用您的属性。
也就是说,如果您仍然想这样做,您可以使用spring.cloud.stream.source
属性并指向在旧版本中使用@Output标识的目标名称。例如spring.cloud.stream.source=foo
bindings:
myChannel-out-0:
destination: Mystuff
producer:
required-groups: mychannel