gpt4 book ai didi

java - 检测 RefreshScope bean 的刷新

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:43:24 25 4
gpt4 key购买 nike

据我了解,当您使用 Spring Cloud 的 RefreshScope 注解时,会注入(inject)一个对数据的代理,如果支持信息发生更改,代理会自动更新。不幸的是,我需要找到一种在刷新发生时收到警报的方法,以便我的代码可以从刷新范围的 bean 中重新读取数据。

简单示例:计划任务的计划存储在 Cloud Config 中。除非您等到任务的下一次执行(这可能需要一段时间)或定期轮询配置(这看起来很浪费),否则无法知道配置是否已更改。

最佳答案

EnvironmentChangeEventEnvironment 发生变化时被触发.就 Spring Cloud Config 而言,这意味着它在 /env 时触发。调用执行器端点。

RefreshScopeRefreshedEvent刷新 @RefreshScope 时触发beans 已经启动,例如/refresh调用执行器端点。

这意味着您需要注册 ApplicationListener<RefreshScopeRefreshedEvent>像那样:

@Configuration
public class AppConfig {

@EventListener(RefreshScopeRefreshedEvent.class)
public void onRefresh(RefreshScopeRefreshedEvent event) {
// Your code goes here...
}

}

关于java - 检测 RefreshScope bean 的刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35322439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com