0

我想通过这样的事情

tracing:
  service: "test-service"
  host: ${TRACING_AGENT_HOST}
  port: ${PORT}
4

2 回答 2

0

无论您使用的是 Helidon SE 还是 Helidon MP,配置源都是“堆叠的”并且属性标量是独立的。因此,如果您不指定:

tracing:
  host:

……完全如此,如果您确保已安装环境变量读取配置源,那么它将从环境中读取。

您可以在此处阅读有关 Helidon SE 专有配置系统的更多信息:https ://helidon.io/docs/v2/#/se/config/01_introduction

您可以在此处阅读有关 MicroProfile 配置系统(Helidon MP 实现)的更多信息:https ://download.eclipse.org/microprofile/microprofile-3.3/microprofile-spec-3.3.html#mp-config

于 2020-12-07T20:00:54.923 回答
0

application.yaml就像一个静态属性文件。它不涉及变量替换。

仔细阅读https://helidon.io/docs/latest/#/mp/guides/03_config中默认配置的源优先级段落,并观察如何覆盖嵌入式配置文件中的属性。

在这种情况下,您可以通过向java命令行传递您期望的自定义​​变量来覆盖您想要的属性。

例如,您可以实现如下所述的目标:

tracing:
  service: "test-service"
  host: default-host-name
  port: 8080
java -Dtracing.host=remote-hostname -Dtracing.port=8080 -jar your_artifact.jar

或者

export TRACING_HOST=remote-hostname
export TRACING_PORT=8080

java -jar your_artifact.jar
于 2021-05-19T05:59:57.180 回答