Spring Cloud Stream:能否将Processor1输出绑定至Processor2与Sink2?
Spring Cloud Stream 多输出绑定实现方案
可以实现Processor1的输出同时推送至Processor2和Sink2,你当前配置未生效是因为用分号分隔多个通道的方式不符合Spring Cloud Stream的配置规范,正确的配置方式如下:
正确的多输出绑定配置
使用YAML列表格式配置多个输出通道,替代分号分隔的字符串:
spring: cloud: stream: function: bindings: processor1-in-0: srcchannel processor1-out-0: - proc2channel - sink2channel default-binder: rabbit
配套的下游组件配置
需要确保Processor2和Sink2的输入通道分别绑定到对应的目标通道:
Processor2 配置
spring: cloud: stream: function: bindings: processor2-in-0: proc2channel processor2-out-0: sink1channel # 对应Sink1的输入通道
Sink2 配置
spring: cloud: stream: function: bindings: sink2-in-0: sink2channel
原理说明
Spring Cloud Stream的函数式绑定支持为单个输出绑定配置多个目标通道,通过YAML数组(列表)形式声明后,Processor1的输出消息会被同时发送到所有指定的通道,从而实现一条输出分流到多个下游组件的效果。
内容的提问来源于stack exchange,提问作者Venu Gopal
相关产品推荐
相关产品推荐

