KafkaBinderConfigurationProperties中缺少管理属性



KafkaBinderConfigurationProperties类为生产者和消费者提供了专用属性。但是,没有admin属性。

与拥有生产者、消费者和管理员专用属性的KafkaProperties相比。

我想知道在设计KafkaBinderConfigurationProperties时没有考虑admin属性是否有具体的原因。

因此,由于我不能使用KafkaBinderConfigurationProperties配置特定的管理属性,那么其他替代方案是使用spring.cloud.stream.kafka.configuration.xxx或spring.kafka.admin.xxx。

以下是我认为以上两种选择的一些缺点,

  1. 使用spring.cloud.stream.kafka.configuration。xxx,如果我想将一些属性配置为admin,那么我还必须设置spring.cloud.stream.kafka.consumer-properties.xxxspring.cloud.stream.kafka.producer-properties.xxx的另外两个属性来覆盖admin值。
  2. 使用spring.kafka.admin。Xxx,可能会导致我的配置不一致。因为我正在用不同的属性配置kafka的生产者、消费者和管理客户端。

粘合剂将首先使用Bootspring.kafka.admin...属性,然后再应用任何粘合剂属性。

最后,您可以提供一个或多个AdminClientConfigCustomizerbean来执行进一步的覆盖。

看到https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream-binder-kafka.html admin-client-config-customization

自定义AdminClient配置

与上面的消费者和生产者配置定制一样,应用程序也可以通过提供AdminClientConfigCustomizer来定制管理客户端的配置。AdminClientConfigCustomizer的configure方法提供对管理客户端属性的访问,您可以使用这些属性定义进一步的自定义。Binder的Kafka主题提供程序为通过此定制器提供的属性提供最高优先级. ...

最新更新