【问题标题】:Obtain VCAP_APPLICATION's application_name value on Spring's application.yml在 Spring 的 application.yml 上获取 VCAP_APPLICATION 的 application_name 值
【发布时间】:2017-07-22 08:15:20
【问题描述】:

我正在尝试使用“logging.pattern.console”设置日志记录模式,该模式需要包含给定应用程序的 CloudFoundry 应用程序名称。我知道可以使用“application_name”键作为 VCAP_APPLICATION 环境变量的一部分找到应用程序名称,并且我可以使用 application.yml 文件中提供的标准 Spring 占位符表示法解析 Spring Cloud 应用程序上的环境变量;但由于变量是 Json,我无法解析它,也无法使用 SpEL 仅获取请求的值。

有没有其他方法可以获取application.yml中manifest.yml文件中设置的应用名称?

【问题讨论】:

    标签: cloud-foundry spring-cloud


    【解决方案1】:

    如果您使用的是 Spring Boot,则可以使用属性vcap.application.name 访问应用程序名称。您应该能够在任何属性可用的地方引用它,例如 @Value 注释或 application.properties。

    Spring Boot 的 CloudFoundryVcapEnvironmentPostProcessor 采用 VCAP_SERVICESVCAP_APPLICATION 环境变量,并通过 Spring 的 Environment api 将它们作为属性提供。这应该自动发生,无需配置或工作。

    【讨论】:

    • 谢谢。正是我想要的:D
    猜你喜欢
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2018-11-06
    相关资源
    最近更新 更多