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