如何在Lagom 1.6/Java/Sbt应用中配置连接Confluent Cloud Kafka集群
Lagom 1.6 Java/Sbt项目连接Confluent Cloud Kafka配置方法
一、配置存放位置
所有相关配置统一写入项目的src/main/resources/application.conf文件即可,Lagom会自动读取该文件下的Kafka相关配置。
二、具体配置操作
1. 预处理Confluent配置
先把拿到的配置中的占位符{{ CLUSTER_API_KEY }}、{{ CLUSTER_API_SECRET }}替换为你实际的集群API密钥和密钥值。
2. 写入application.conf
Lagom要求Kafka客户端配置要放在lagom.broker.kafka节点下,完整配置示例如下:
lagom.broker.kafka { # 对应Confluent配置的bootstrap.servers brokers = "xxxx.us-west1.gcp.confluent.cloud:9092" # 通用客户端配置,生产者、消费者都会默认继承该节点下的参数 client-defaults { security.protocol = SASL_SSL sasl.jaas.config = "org.apache.kafka.common.security.plain.PlainLoginModule required username='替换为你的API_KEY' password='替换为你的API_SECRET';" sasl.mechanism = PLAIN client.dns.lookup = use_all_dns_ips acks = all } }
3. 额外注意事项
sasl.jaas.config的取值必须用双引号完整包裹,避免HOCON配置解析时把语句末尾的分号识别为配置结束符导致报错。- 如果需要给生产者、消费者单独配置不同参数,可以分别在
lagom.broker.kafka.producer、lagom.broker.kafka.consumer节点下添加对应参数,优先级高于client-defaults的通用配置。 - Lagom 1.6默认适配的Kafka客户端版本已经兼容上述所有配置,不需要额外修改
build.sbt的依赖。
内容的提问来源于stack exchange,提问作者monad
相关产品推荐
相关产品推荐

