[英]use environment var to configure kafka host on seedstack
我正在尝试使用env var在seedstack上配置kafka。 该语法适用于mongoDB配置,但不适用于kafka配置。
这是我的mongo conf:
env:
MONGO_URL: "localhost:27017"
MONGO_CREDENTIAL: ""
mongoDb:
clients:
mongoClient:
databases: mongoDB
uri: mongodb://${env.MONGO_CREDENTIAL}${env.MONGO_URL}
这是我的蒙哥·卡夫卡
env:
MONGO_URL: "localhost:27017"
MONGO_CREDENTIAL: ""
kafka:
consumers:
consumer1:
topics: [topic1]
properties:
bootstrap.servers: ${env.KAFKA_URL}
key.deserializer: org.apache.kafka.common.serialization.StringDeserializer
value.deserializer: org.apache.kafka.connect.json.JsonDeserializer
auto.offset.reset: earliest
似乎在属性之下,环境var替换不适用于va。
关于如何使它起作用的任何想法吗?
在测试了这种情况之后,我发现属性映射器没有正确调用值评估器。 结果,该宏未被评估。
我发布了解决该问题的配置库版本3.1.4。 它会包含在将来的SeedStack版本中,但您现在可以通过在pom.xml
添加此依赖项管理(从seedstack-bom
导入之后)中seedstack-bom
:
<dependencyManagement>
<dependencies>
<!-- seedstack-bom import is here -->
<dependency>
<groupId>org.seedstack.coffig</groupId>
<artifactId>coffig</artifactId>
<version>3.1.4</version>
</dependency>
</dependencies>
</dependencyManagement>
附带说明一下,我建议您不要在env
子树中手动定义任何内容,而应使用宏回退机制:
${env.SOME_VAR:'defaultValue'}
请注意,您可以级联后备:
${env.SOME_VAR:sys.someSystemProperty:'defaultValue'}
您需要引用文字默认值,以避免将其解析为配置节点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.