此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4spring-doc.cn

类路径上的多个 Binder

当 Classpath 上存在多个 Binders 时,应用程序必须指示将哪个 Binder 用于每个目标绑定。 每个 Binder 配置都包含一个文件,该文件是一个简单的属性文件,如以下示例所示:META-INF/spring.bindersspring-doc.cn

rabbit:\
org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration

其他提供的 Binder 实现(例如 Kafka)也存在类似的文件,并且自定义 Binder 实现也应提供这些文件。 键表示 Binder 实现的标识名称,而值是逗号分隔的配置类列表,每个配置类都包含一个且只有一个类型的 bean 定义。org.springframework.cloud.stream.binder.Binderspring-doc.cn

Binder 选择可以使用属性(例如 )全局执行,也可以通过在每个绑定上配置 Binder 来单独执行。 例如,从 Kafka 读取并写入 RabbitMQ 的处理器应用程序(分别具有名为 和 for read 和 write 的绑定)可以指定以下配置:spring.cloud.stream.defaultBinderspring.cloud.stream.defaultBinder=rabbitinputoutputspring-doc.cn

spring.cloud.stream.bindings.input.binder=kafka
spring.cloud.stream.bindings.output.binder=rabbit