springboot的Scheduled定时器不工作

Posted Mister_W

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot的Scheduled定时器不工作相关的知识,希望对你有一定的参考价值。

问题情况

使用springboot,使用注解方式启动定时器进行业务调度。

在入口类中加了注解如下:

package org.test.xyz;

@SpringBootApplication
@EnableScheduling
@ComponentScan(basePackages = {"org.test.abc"})
public class Test
{
    public static void main(String[] args)
    {
        SpringApplication.run(Test.class, args);
    }
}

 

定时器类如下:

package org.test.xyz;

@Component
public class Timer
{
    @Scheduled(fixedRate = 5000)
    public void test()
    {
        System.out.println("Time " + new Date().toString());
    }
}

 

springboot启动后,并没有按照预期结果打印:Time xxx 的日志。

 

分析结果

因为在入口类中使用了@ComponentScan注解,并且指定了basePackages,所以程序只会扫描指定的包路径下的Component类,其他位置的Component类不会进行扫描,从而不会启动定时器。

参考链接:https://blog.csdn.net/u014695188/article/details/52263903

 

以上是关于springboot的Scheduled定时器不工作的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot之scheduled定时器

Springboot之使用Scheduled做定时任务

springboot的Scheduled定时器不工作

springboot 基于@Scheduled注解 实现定时任务

玩转SpringBoot之定时任务@Scheduled线程池配置-

SpringBoot执行定时任务@Scheduled