此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4! |
类路径上的多个 Binder
当 Classpath 上存在多个 Binders 时,应用程序必须指示将哪个 Binder 用于每个目标绑定。
每个 Binder 配置都包含一个文件,该文件是一个简单的属性文件,如以下示例所示:META-INF/spring.binders
rabbit:\
org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration
其他提供的 Binder 实现(例如 Kafka)也存在类似的文件,并且自定义 Binder 实现也应提供这些文件。
键表示 Binder 实现的标识名称,而值是逗号分隔的配置类列表,每个配置类都包含一个且只有一个类型的 bean 定义。org.springframework.cloud.stream.binder.Binder
Binder 选择可以使用属性(例如 )全局执行,也可以通过在每个绑定上配置 Binder 来单独执行。
例如,从 Kafka 读取并写入 RabbitMQ 的处理器应用程序(分别具有名为 和 for read 和 write 的绑定)可以指定以下配置:spring.cloud.stream.defaultBinder
spring.cloud.stream.defaultBinder=rabbit
input
output
spring.cloud.stream.bindings.input.binder=kafka
spring.cloud.stream.bindings.output.binder=rabbit