首页 > 解决方案 > Spring @EnableScheduling 和 @Schedule 注释不起作用

问题描述

我创建了一个类,其中包含一个应该每 5 秒运行一次的方法。它们看起来像这样:

@Configuration
@EnableScheduling
public class MyClass {
    @Scheduled(fixedRate = 5000)
    public void myMethod() {
        logger.info("hi");
    }
}

问题是它在开始时只被调用一次,并且再也不会被调用。

标签: javaspringscheduling

解决方案


为配置创建一个类并为调度程序创建另一个类。不要忘记使用@Component 将调度程序类标记为弹簧组件

@Configuration
@EnableScheduling
public class MyClass {
    //this is your configuration class
}

//

@Component
public class TestScheduler{

    @Scheduled(fixedRate = 5000)
    public void myMethod() {
        logger.info("hi");
    }
}

推荐阅读