【发布时间】:2017-07-03 12:07:45
【问题描述】:
我有一个在 AWS beanstalk 中运行的spring boot 应用程序。它当前从src/main/resources/application.properties 文件中读取属性。我想通过在S3 中将属性作为文件提供来覆盖这些配置。所以我在S3s3://my-bucket/some_dir/application.properties 创建了一个文件。在 beanstalk 应用程序中,我在 Software Configuration 中提供了以下设置。
spring.config.location 的值为 s3://my-bucket/some_dir/application.properties。
重新启动应用程序,但我仍然看到旧值。我遵循了文档here。
我做错了什么?
【问题讨论】:
-
正如@Strelok 所指出的,这种方法行不通。我也许可以将脚本添加到
.ebextensions以从 S3 下载文件然后读取它,但是每次我想更新配置时都需要重新部署 jar。这不是我的应用程序的用例。相反,我现在正在应用程序的方法中读取 S3 文件并加载属性。这样,我可以在应用程序运行时调用该方法并重新加载配置。
标签: amazon-s3 spring-boot configuration amazon-elastic-beanstalk