Apache kafka Spring Cloud Stream动态目标分区计数属性

Apache kafka Spring Cloud Stream动态目标分区计数属性,apache-kafka,spring-cloud-stream,Apache Kafka,Spring Cloud Stream,我想使用BinderAwareChannelResolver bean向Kafka发送一条主题名为的消息,该主题名在运行时解析。 我的问题是,此主题的BindingProperties中的partitionCount默认为1。当Kafka中已经存在此主题时,以及当此主题由客户端创建且分区计数等于minPartitionCount配置值时,此值不反映真实的分区数。 如何使此属性反映分区的真实数量?BindingProperties从不更新以反映物理主题配置;这些属性仅用于配置 使用2.0,您可以使

我想使用BinderAwareChannelResolver bean向Kafka发送一条主题名为的消息,该主题名在运行时解析。 我的问题是,此主题的BindingProperties中的partitionCount默认为1。当Kafka中已经存在此主题时,以及当此主题由客户端创建且分区计数等于minPartitionCount配置值时,此值不反映真实的分区数。
如何使此属性反映分区的真实数量?

BindingProperties从不更新以反映物理主题配置;这些属性仅用于配置


使用2.0,您可以使用NewBindingCallback修改动态目标的属性-请参阅。

感谢您的快速响应!我注意到在使用动态通道时,在确定将消息发送到哪个分区的过程中没有使用分区密钥提取器。我做错了什么?或者故意这样实现?如果主题的分区计数由另一个服务/手动更新,则已注册的出站通道将继续向旧分区发送消息,新分区将为空,直到我们重新启动服务?密钥提取程序应正常工作;如果不是,请打开一个GItHub问题,显示您的代码/配置。有一种方法可以检测实际的分区计数,但不容易修复。在任何情况下,即使它起作用,或者您手动修复属性中的计数,是的,您必须重新启动生产者才能使新计数生效。