我有一个Spring Boot应用程序,我使用Spring Cloud Config将配置外部化了,因此我可以即时修改和刷新其属性。
这是我的bootstrap.yml:
spring:
application:
name: ${appName:tasky}
profiles:
include:
- native
cloud:
config:
failFast: true
server:
bootstrap: true
prefix: /config
native:
search-locations: classpath:config/{profile}
在我的本地项目中更新然后刷新属性(例如app.api-key
)非常有效:
curl -X POST http://localhost:9190/management/refresh
["app.api-key"]
我对我的应用进行了docker化处理,并尝试从容器中获得相同的结果,因此我尝试了以下操作:
sed -i -e 's/oldvalue/newvalue/g' tasky-prod.properties
这正确地更改了我的文件,但是当我尝试刷新应用程序中的值(从容器内部)时,我的spring boot上下文重新启动,但是执行器未拾取任何东西,并且新值也未被使用我的应用程序:
curl -X POST http://localhost:9999/management/refresh
[]
我做错了什么?