簡體   English   中英

使用環境變量在種子堆棧上配置kafka主機

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM