活页夹抽象
Spring Cloud Stream 为 Kafka 和 Rabbit MQ 提供了 Binder 实现。 该框架还包含一个测试绑定器,用于将你的应用集成测试为 Spring-cloud-stream 应用。详情请参见[测试]部分。
Binder 抽象也是框架的扩展之一,这意味着你可以在 Spring Cloud Stream 之上实现自己的 Binder。
在“如何从零开始创建春季云直播活页夹”帖子中,一位社区成员记录了相关内容
详细说明,并举例说明实现自定义绑定器所需的一系列步骤。
步骤也在实现自定义绑定器部分。
Spring Cloud Stream 使用 Spring Boot 进行配置,Binder 抽象使得 Spring Cloud Stream 应用在连接中间件的方式上能够灵活。
例如,部署器可以在运行时动态选择外部目的地(如 Kafka 主题或 RabbitMQ 交换)与输入之间的映射
以及消息处理器的输出(例如函数的输入参数及其返回参数)。
这种配置可以通过外部配置属性提供,并以 Spring Boot 支持的任何形式提供(包括应用程序参数、环境变量和application.yml或application.properties文件)。
在“引入春季云流”部分的水槽示例中,设置spring.cloud.stream.bindings.input.destination应用属性为RAW-传感器-数据使其读取RAW-传感器-数据卡夫卡主题或绑定到的队列RAW-传感器-数据RabbitMQ交换。
Spring Cloud Stream 会自动检测并使用类路径上的绑定器。 你可以用不同类型的中间件但代码相同。 为此,在制作时加入不同的活页夹。 对于更复杂的用例,你也可以在应用中打包多个绑定器,让它在运行时选择绑定器(甚至是否使用不同绑定工具)。