返回介绍

配置详解

发布于 2024-08-18 11:12:34 字数 4580 浏览 0 评论 0 收藏 0

在Spring Cloud Stream中对绑定通道和绑定器提供了通用的属性配置项,一些绑定器还允许使用附加属性来对消息中间件的一些独有特性进行配置。这些属性的配置可以通过Spring Boot支持的任何配置方式来进行,包括使用环境变量、YAML或者properties配置文件等。

基础配置

下表是Spring Cloud Stream应用级别的通用基础属性,这些属性都以spring.cloud.stream.为前缀。

绑定通道配置

对于绑定通道的属性配置,在之前的示例中已经有过一些介绍,这些配置可以在属性文件中通过 spring.cloud.stream.bindings.<channelName>.<property>=<value>格式的参数来进行设置。其中<channelName>代表在绑定接口中定义的通道名称,比如,Sink中的input、Source中的output。

由于绑定通道分为输入通道和输出通道,所以在绑定通道的配置中包含了三类面向不同通道类型的配置:通用配置、消费者配置、生产者配置。

在下面介绍各具体配置属性时将省略 spring.cloud.stream.bindings.<channelName>.前缀,但在实际使用的时候记得使用完整的参数名称进行配置。

通用配置

对于绑定通道的通用配置,它们既适用于输入通道,也适用于输出通道,它们通过spring.cloud.stream.bindings.<channelName>.前缀来进行设置,具体可配置的属性如下表所示。

消费者配置

下面这些配置仅对输入通道的绑定有效,它们以 spring.cloud.stream.bindings.<channelName>.consumer.格式作为前缀。

生产者配置

下面这些配置仅对输出通道的绑定有效,它们以 spring.cloud.stream.bindings.<channelName>.producer.格式作为前缀。

续表

绑定器配置

由于Spring Cloud Stream目前只实现了对RabbitMQ和Kafka的绑定器,所以对于绑定器的属性配置主要是针对这两个中间件。同时因为这两个中间件自身结构的不同,所以会有不同的附加属性来配置各自的一些特殊功能和基础设施。

RabbitMQ配置

RabbitMQ绑定器的配置同绑定通道的配置一样,分为三种不同类型:通用配置、消费者配置以及生产者配置。

通用配置

由于 RabbitMQ 绑定器默认使用了 Spring Boot 的 ConnectionFactory,所以RabbitMQ绑定器支持在Spring Boot中的配置选项,它们以spring.rabbitmq.为前缀。在之前的示例中,我们使用这些配置来指定具体的 RabbitMQ 地址、端口、用户信息等,更多配置可见Spring Boot文档中对RabbitMQ支持的章节内容,或是通过spring-bootstarter-amqp模块中RabbitProperties类的源码来查看。

在Spring Cloud Stream对RabbitMQ实现的绑定器中主要有下面几个属性,它们都以spring.cloud.stream.rabbit.binder.为前缀。这些属性可以在org.springframework.cloud.stream.binder.rabbit.config.RabbitBinderConfigurationProperties中找到它们。

消费者配置

下面这些配置仅对RabbitMQ输入通道的绑定有效,它们以spring.cloud.stream.rabbit.bindings.<channelName>.consumer.格式作为前缀。

续表

续表

生产者配置

下面这些配置仅对RabbitMQ输出通道的绑定有效,它们以spring.cloud.stream.rabbit.bindings.<channelName>.producer.格式作为前缀。

Kafka配置

Kafka绑定器的配置在类别上与RabbitMQ一样,分为三种不同类型:通用配置、消费者配置以及生产者配置。但是由于 RabbitMQ 与 Kafka 自身有一些差异,所以它们的配置也不一样。

通用配置

Spring Cloud Stream 实现的 Kafka 绑定器包含下面这些通用配置,它们都以spring.cloud.stream.kafka.binder.为前缀。

续表

消费者配置

下面这些配置仅对 Kafka 输入通道的绑定有效,它们以 spring.cloud.stream.kafka.bindings.<channelName>.consumer.格式作为前缀。

生产者配置

下面这些配置仅对 Kafka 输出通道的绑定有效,它们以 spring.cloud.stream.kafka.bindings.<channelName>.producer.格式作为前缀。

续表

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文