类路径上的多个活页夹
当类路径上存在多个绑定器时,应用程序必须指定每个目的绑定要使用哪个绑定器。
每种活页夹配置都包含META-INF/spring.binders文件,是一个简单的属性文件,如下示例所示:
rabbit:\
org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration
其他提供的活页夹实现(如Kafka)也有类似文件,且预计自定义活页夹实现也会提供这些文件。
键代表绑定器实现的识别名称,而值则是一个逗号分隔的配置类列表,每个配置类只包含一个类型的豆定义org.springframework.cloud.stream.binder.Binder.
结合剂选择可以全局执行,使用spring.cloud.stream.defaultBinder性质(例如,spring.cloud.stream.defaultBinder=rabbit)或通过在每个装订上单独配置活页夹来实现。
例如,一个处理器应用程序(其绑定名为输入和输出分别读取 Kafka 和写入 RabbitMQ 的 可以指定以下配置:
spring.cloud.stream.bindings.input.binder=kafka
spring.cloud.stream.bindings.output.binder=rabbit