【问题标题】:Is there any work around to avoid calling /refresh to reload the properties in client spring boot?是否有任何解决方法可以避免调用 /refresh 以重新加载客户端 Spring Boot 中的属性?
【发布时间】:2017-06-13 06:40:03
【问题描述】:

我了解了 spring-boots config-server 和 config-client 方法。但是每次在这里,当我对我的属性进行一些更改以反映在我想避免它的客户端时,我都必须调用刷新 POST API。我们可以在代码内部而不是外部调用刷新吗?。

请帮忙。

【问题讨论】:

  • 确保您可以使用计划任务在内部调用刷新端点,但我不确定这是您想要的,因为这将重新加载您的应用程序上下文,这意味着您的应用程序将完成..但您可以尝试 unix 系统中的 STOP file 方法
  • 您使用的是哪个后端?

标签: spring spring-boot spring-cloud


【解决方案1】:

您可以通过 Spring Cloud Bus 解决此问题,如official documentation 中所述。此外,您可以使用this 博客条目作为分步指南。

另一种解决方案不那么奇特但仍然有效。您可以将您的服务配置为定期调用RefreshEndpoint.refresh(),如this 主题中所述。

【讨论】:

    【解决方案2】:

    当您想从 Spring Cloud 服务器重新加载属性时,您可以使用 ContextRefresh 手动执行此操作。

    @Autowired
    ContextRefresher contextRefresher;
    
    public void yourMethod() {
        contextRefresher.refresh();
    }
    

    您可以随时拨打yourMethod

    【讨论】:

      猜你喜欢
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多