首次尝试使用/ actuator / refresh,但似乎并未影响@Scheduled任务

时间:2019-08-12 15:29:52

标签: java spring spring-boot spring-boot-actuator

我试图结合Spring的两个不同部分-执行器刷新和bean中存在的@Scheduled方法。

在引入刷新之前,计划的方法完全按照预期的方式工作-它从配置服务器获取信息以将其值作为fixedRateString填写,它在启动时运行一次,然后按该值定义的频率(以毫秒为单位)运行一次。

我的期望是,如果我更改服务器上的值,然后单击/ actuator / refresh端点,则计划的任务可能会在那时立即以新值运行,然后按新定义的频率刷新值。

我在/ actuator / refresh POST响应中返回了字符串“毫秒级缓存处理频率”,因此我知道应用程序知道该值已更改。问题是-似乎无法重建计划任务/使用更新后的值(因为它继续以相同的频率运行)。

这是我的方法的定义方式:

@Scheduled(fixedRateString = "${cached-processing-frequency-in-milliseconds}")
public void processCachedItems() {

以及包含它的@Service类的顶部:

@RefreshScope
@EnableScheduling
@Service
public class CachedService {

我要添加一个使用该服务的唯一服务的@RefreshScope,然后添加使用该服务的控制器,据我了解,bc,无论使用您关心刷新的事物的任何bean,都需要在技术上进行刷新好。还是一无所有。

难道不应该将它们像这样一起使用吗?很好,但是如果我缺少任何东西,一定要。感谢您的帮助。

0 个答案:

没有答案