Spring Cloud Stream-配置选项

Spring Cloud Stream支持常规配置选项以及绑定和绑定器的配置。一些绑定器允许额外的绑定属性来支持中间件特定的功能。

可以通过Spring Boot支持的任何机制向Spring Cloud Stream应用程序提供配置选项。这包括应用程序参数,环境变量和YAML或.properties文件。

基础配置

spring.cloud.stream.instanceCount

应用程序部署实例的数量。必须设置分区,如果使用Kafka。

默认值:1

spring.cloud.stream.instanceIndex

应用程序的实例索引:从0instanceCount -1的数字。用于分区和使用Kafka。在Cloud Foundry中自动设置以匹配应用程序的实例索引。

spring.cloud.stream.dynamicDestinations

可以动态绑定的目标列表(例如,在动态路由方案中)。如果设置,只能列出目的地。

默认值:空(允许任何目的地绑定)。

spring.cloud.stream.defaultBinder

如果配置了多个绑定器,则使用默认的binder。在Classpath上查看多个Binders

默认值:空。

spring.cloud.stream.overrideCloudConnectors

此属性仅适用于cloud配置文件激活且Spring Cloud连接器随应用程序一起提供。如果属性为false(默认值),绑定器将检测适合的绑定服务(例如,RabbitMQ绑定器在Cloud Foundry中绑定的RabbitMQ服务),并将使用它来创建连接(通常通过Spring Cloud连接器)。当设置为true时,此属性指示绑定器完全忽略绑定的服务,并依赖Spring Boot属性(例如依赖于RabbitMQ绑定器环境中提供的spring.rabbitmq.*属性)。当连接到多个系统时,此属性的典型用法将嵌套在定制环境

默认值:false。

绑定通道配置

绑定属性使用格式spring.cloud.stream.bindings.<channelName>.<property>=<value>提供。<channelName>表示正在配置的通道的名称(例如Sourceoutput)。

在下面的内容中,我们指出我们在哪里省略了spring.cloud.stream.bindings.<channelName>.前缀,并且只关注属性名称,同时理解前缀将包含在运行时。

通用配置

以下绑定属性可用于输入和输出绑定,并且必须以spring.cloud.stream.bindings.<channelName>.为前缀。

destination

绑定中间件上的通道的目标目标(例如,RabbitMQ交换机或Kafka主题)。如果通道绑定为消费者,则可以将其绑定到多个目标,并且目标名称可以指定为逗号分隔的字符串值。如果未设置,则使用通道名称。

group

渠道的消费群体。仅适用于入站绑定。参见消费者群体

默认值:null(表示匿名消费者)。

content-type

频道的内容类型。

默认值:null(以便不执行类型强制)。

binder

这种绑定使用的粘合剂。有关详细信息,请参阅Classpath上的Multiple Binders

默认值:null(默认的binder将被使用,如果存在)。

消费者配置

以下绑定属性仅适用于输入绑定,并且必须以spring.cloud.stream.bindings.<channelName>.consumer.为前缀。

concurrency

入站消费者的并发性。

默认值:1

partitioned

消费者是否从分区生产者接收数据。

默认值:false

headerMode

设置为raw时,禁用输入头标题解析。仅适用于不支持消息头的消息中间件,并且需要头部嵌入。入站数据来自外部Spring Cloud Stream应用程序时很有用。

默认值:embeddedHeaders

maxAttempts

重新处理入站邮件的尝试次数。

默认值:3

backOffInitialInterval

退避初始间隔重试。

默认值:1000

backOffMaxInterval

最大回退间隔。

默认值:10000

backOffMultiplier

退避倍数。

默认值:2.0

以下绑定属性仅适用于输入绑定,并且必须以spring.cloud.stream.bindings.<channelName>.consumer.为前缀。

并发

入站消费者的并发性。

默认值:1

分区

消费者是否从分区生产者接收数据。

默认值:false

headerMode

设置为raw时,禁用输入头标题解析。仅适用于不支持消息头的消息中间件,并且需要头部嵌入。入站数据来自外部Spring Cloud Stream应用程序时很有用。

默认值:embeddedHeaders

maxAttempts

重新处理入站邮件的尝试次数。

默认值:3

backOffInitialInterval

退避初始间隔重试。

默认值:1000

backOffMaxInterval

最大回退间隔。

默认值:10000

backOffMultiplier

退避倍数。

默认值:2.0

生产者配置

以下绑定属性仅适用于输出绑定,并且必须以spring.cloud.stream.bindings.<channelName>.producer.为前缀。

partitionKeyExpression

一个确定如何分配出站数据的SpEL表达式。如果设置,或者如果设置了partitionKeyExtractorClass,则该通道上的出站数据将被分区,并且partitionCount必须设置为大于1的值才能生效。这两个选项是相互排斥的。请参阅分区支持

默认值:null。

partitionKeyExtractorClass

一个PartitionKeyExtractorStrategy实现。如果设置,或者如果设置了partitionKeyExpression,则该通道上的出站数据将被分区,并且partitionCount必须设置为大于1的值才能生效。这两个选项是相互排斥的。请参阅分区支持

默认值:null。

partitionSelectorClass

一个PartitionSelectorStrategy实现。与partitionSelectorExpression相互排斥。如果没有设置,则分区将被选为hashCode(key) % partitionCount,其中key通过partitionKeyExpressionpartitionKeyExtractorClass计算。

默认值:null。

partitionSelectorExpression

用于自定义分区选择的SpEL表达式。与partitionSelectorClass相互排斥。如果没有设置,则分区将被选择为hashCode(key) % partitionCount,其中key通过partitionKeyExpressionpartitionKeyExtractorClass计算。

默认值:null。

partitionCount

如果启用分区,则数据的目标分区数。如果生产者被分区,则必须设置为大于1的值。在Kafka,解释为提示; 而是使用更大的和目标主题的分区计数。

默认值:1

requiredGroups

生成者必须确保消息传递的组合的逗号分隔列表,即使它们在创建之后启动(例如,通过在RabbitMQ中预先创建持久队列)。

headerMode

设置为raw时,禁用输出上的标题嵌入。仅适用于不支持消息头的消息中间件,并且需要头部嵌入。在非Spring Cloud Stream应用程序生成数据时很有用。

默认值:embeddedHeaders

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值