【问题标题】:Why does spring-cloud-config not expand properties for spring-boot-actuator?为什么 spring-cloud-config 不扩展 spring-boot-actuator 的属性?
【发布时间】:2021-03-16 12:39:20
【问题描述】:

我已经设置了 spring-boot-actuator 和 spring-cloud-config。我设置了类似于以下的各种属性:

info.app.name=@project.name@
info.app.version=@project.version@

如果我将这些属性放在 application.properties 中,那么我会得到:

{
  "app" : {
    "name" : "project-name",
    "version" : "1.2.3",
<more is ommitted>

但如果我把它放在 spring-cloud-config 中,我会得到以下信息:

{
  "app" : {
    "name" : "@project.name@",
    "version" : "@project.version@",
<more is ommitted>

我不明白为什么会这样,因为我希望 config 服务它并执行器扩展它。这是一个错误吗?

谢谢。

【问题讨论】:

    标签: spring-boot spring-boot-actuator spring-cloud-config


    【解决方案1】:

    application.properties@project.name@@project.version@ 的分辨率是performed at build time,而不是在运行时。所以当你的应用程序运行时,jar 文件中的application.properties 包含:

    info.app.name=project-name
    info.app.version=1.2.3
    

    在 Spring Boot 或 Spring Cloud Config 中没有任何东西可以在运行时解析像 @project.name@ 这样的占位符,因此当从 Config Server 中提取这些属性时,您将获得属性的字面值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-13
      • 2021-03-15
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 2016-06-04
      • 2015-05-14
      • 2021-03-22
      相关资源
      最近更新 更多