问题描述
在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}")