【问题标题】:Spring-boot Amazon Elastic Beanstalk ignores 'SPRING_APPLICATION_JSON'Spring-boot Amazon Elastic Beanstalk 忽略“SPRING_APPLICATION_JSON”
【发布时间】:2016-11-07 13:52:23
【问题描述】:

我已尝试使用我的应用程序的 jar 和 war 版本,但无论我做什么,SPRING_APPLICATION_JSON 在部署到 Elastic Beanstalk 时都会被忽略。当使用相同的 jar 在本地测试时,这是可行的。

export SPRING_APPLICATION_JSON='{"server": { "port": 5000 } }'
java -jar my-app-1.0.1-SNAPSHOT.jar

... snip useless output
2016-07-05 12:18:02.877  INFO 10654 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 5000 (http)
2016-07-05 12:18:02.886  INFO 10654 --- [           main] com.me.app.MyApplication      : Started MyApplication in 22.827 seconds (JVM running for 23.514)

在 Elastic Beanstalk 中的 AWS 上设置相同的 JSON 时(显示 jar 版本)

但是当应用程序在 AWS 中启动时。日志显示它没有看到 server.port 的更新配置值

2016-07-05 15:58:33.511  INFO 2267 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-07-05 15:58:33.520  INFO 2267 --- [           main] com.me.app.MyApplication      : Started MyApplication in 37.746 seconds (JVM running for 47.043)

为什么这在本地有效,但在 Elastic Beanstalk 上无效?

【问题讨论】:

    标签: java amazon-web-services spring-boot amazon-elastic-beanstalk


    【解决方案1】:

    所以经过一些阅读和测试。事实证明,这是 Elastic Beanstalk 用户界面中的一个错误。任何需要报价的属性都不起作用。这与How to config Meteor on AWS/EBS using METEOR_SETTINGS environment variable 相同

    我确实使用.ebextensions 解决了这个问题。这可以正确地让您插入转义值。

    option_settings:
      - option_name: SPRING_APPLICATION_JSON
        value: {"server":{"port": 5000}}
    

    【讨论】:

      【解决方案2】:

      由于 eb 使用 json 格式,因此将 json 作为 base64 传递对我来说效果最好。

      我正在使用这样的 Procfile

      web: SPRING_APPLICATION_JSON=$(echo SPRING_APPLICATION_JSON_BASE64 | base64 --decode) java $JAVA_OPTS -jar app.jar $JAVA_ARGS
      

      并使用我的 base64 编码的 json 字符串配置环境变量 SPRING_APPLICATION_JSON_BASE64。

      如果 .ebextensions 不是一个选项,这很好用,因为您经常更改独立于版本控制的配置值,或者像我一样要求它在其中传递秘密。

      【讨论】:

        猜你喜欢
        • 2016-05-12
        • 2020-09-02
        • 2017-08-07
        • 2016-04-02
        • 2017-08-09
        • 2018-10-13
        • 2017-04-21
        • 2014-11-24
        • 2019-07-03
        相关资源
        最近更新 更多