【发布时间】:2019-04-20 23:28:37
【问题描述】:
我们已将 spring boot 升级到 2.0.3 版本(之前的 1.5.10)。
因此,我们更改了 kafka 和 spring-cloud-stream (2.0.0-Release) 的发布版本
在我们的属性 YML 文件中,我们并不总是配置 partitionKeyExpression 并且我们的大部分 partitionCount 大于 1。
在以前的版本中,这些设置以及不传递任何密钥会导致在循环策略中生成消息。
在新版本中,相同的设置导致方法 isPartitioned 返回 true,这会添加带有新 PartitionHandler 的拦截器,其中 extractKey 方法由于缺少键而失败(断言消息“分区键不能为空”)。
问题是,我们如何才能以相同的设置或更少的更改来保持以前的行为。我们如何才能保持不使用密钥并确保消息以循环策略进入分区?
【问题讨论】:
标签: spring-boot apache-kafka spring-cloud-stream