将@Scheduled应用于@ Cacheable rest方法

问题描述 投票:0回答:1

我正在尝试向rest get方法添加一个计划,当我在没有@Cacheable注释的情况下使用它时,调度程序工作正常。像这样 -

@Scheduled(fixedDelay = 1000*5)
@GetMapping("test")
public void test(){
    System.out.println("scheduled task through spring");
}

问题是,当我添加@Cacheable注释时,请求被加载一次,然后调度程序不会重复。

@Scheduled(fixedDelay = 1000*5)
@Cacheable("testData")
@GetMapping("test")
public void test(){
   System.out.println("scheduled task through spring");
}

我用google搜索过,但我只能用@Scheduled找到有关@CacheEvict的信息

java spring annotations
1个回答
0
投票

我不相信把@Cacheable放在void方法上是有道理的。即使该方法返回一个值...

我相信@Scheduled正在解雇,但是@Cacheable导致返回缓存值,而不是再次执行该方法。我认为这是有道理的。

打开DEBUG日志以验证。

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.