【发布时间】:2016-05-21 05:34:07
【问题描述】:
据我了解,当您使用 Spring Cloud 的RefreshScope 注解时,会注入数据的代理,如果支持信息发生更改,代理会自动更新。不幸的是,我需要找到一种在刷新发生时发出警报的方法,以便我的代码可以从刷新范围的 bean 中重新读取数据。
简单示例:计划存储在 Cloud Config 中的计划任务。除非您等到下一次执行任务(这可能需要一段时间)或定期轮询配置(这似乎很浪费),否则无法知道配置是否已更改。
【问题讨论】:
-
希望使用 refreshevent 会对您有所帮助。我使用与您类似的方法。计划任务的计划在配置中,这将使用 RefreshEvent 自动更新。此处提供了一个示例应用程序github.com/winster/SpringSchedulerDynamic。此应用程序优雅地加载具有新计划的预定作业,并且具有旧计划的先前作业优雅地完成。现在,当我在类路径中添加一个 opentracing 库时,它再次中断。这意味着,在刷新时,将使用新计划创建一个新的计划作业,并保留旧计划。你知道这里出了什么问题吗?
标签: java spring spring-boot spring-cloud