[英]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.