在运行时提供Kafka Client属性以使用kafka身份验证

问题描述

micronaut-kafka文档中,有一些有关如何设置自定义属性的信息。通过application.yml文件或直接使用注释:

@KafkaClient(
    id="product-client",acks = KafkaClient.Acknowledge.ALL,properties = @Property(name = ProducerConfig.RETRIES_CONFIG,value = "5")
)
public interface ProductClient {
    ...
}

我必须在运行时提供sasl.jaas.config属性,因为客户端使用身份验证,并且秘密在启动时被解析。解决这些秘密之后,应初始化kafka的消费者/生产者。

实现此目标的最佳方法是什么?

谢谢!

解决方法

我认为 micronaut 在当前版本中没有这个设置。

但是您可以在 application.yml 中的生产者配置下添加这一行:

sasl.jaas.config: com.sun.security.auth.module.Krb5LoginModule 需要 blablabla";

并通过占位符阅读此内容,例如:

属性(name = "sasl.jaas.config",value = "${kafka.producers.your_producer_id.sasl.jaas.config}")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...