spring-cloud - 重新启动应用程序不会从 git 获取更新的属性
问题描述
我最近将我们的应用程序升级到 Spring Boot 2.3.3 和 Spring Cloud 3.1.5 并且还将我们的配置服务器从 Config Server 更新为 Spring Cloud Config Server。
该应用程序运行良好,但如果有任何更新,我在从 git repo 获取属性时遇到问题。
在我更新我们的 Spring 版本和配置服务器之前,每当我在 git 中更改属性文件中的属性值并重新启动应用程序时,应用程序都会获取最新更新的属性。
但是现在随着升级,当我更新属性并重新启动网络应用程序时,它仍然没有获取更新的属性。现在找到了一种解决方法,我需要在 Spring Cloud Config Server 中同步镜像刷新,然后重新启动应用程序,并且应用程序会获取更新的属性值。
但是想知道是否有解决方案而不是解决方法,以便它像以前一样工作。我尝试了很多方法,但没有任何效果。我已经在我的应用程序中设置了执行器依赖项以及设置为刷新的属性值。但他们没有工作。请让我知道如何处理此问题。
解决方案
我认为您的问题是您没有在 JSON 文件中为 Spring 云配置使用period:true 。添加后,它将每 5 分钟自动刷新一次配置属性,如此处的 spring 云配置服务器文档中所述 - https://docs.pivotal.io/spring-cloud-services/3-1/common/config-服务器/刷新-properties.html
“可以在配置Config Server服务实例时使用periodic参数,使镜像服务周期性地自动刷新一个Git仓库镜像”
在此处阅读有关定期的更多信息 - https://docs.pivotal.io/spring-cloud-services/3-1/common/config-server/configuring-with-git.html
推荐阅读
- lambda - 如何编写比较器以使用 lambda 表达式基于第二列对二维数组进行排序
- unity3d - Unity Vuforia 对象不显示在地平面上
- python-3.x - Numpy将位图扩展为位图的位图
- c3.js - 如何显示条件标签和无标签?
- javascript - 如何在我的扩展程序中禁用“询问保存位置”设置?
- php - 如何使用 apache2 将 Laravel API 配置为端口 8000?
- mysql - 在 mySQL 中创建具有百分比的动态数据透视表
- java - 正则表达式组不适用于多个地址
- wpf - 将控制台可执行文件部署到商店应用程序中的 Tempdir
- java - KMeans 在 ELKI 中的使用,综合示例