Spring定时器spring task踩过的坑

首先需要在配置文件中添加命名空间及描述(第一次忘记添加错了好多错误)

xmlns:task="http://www.springframework.org/schema/task"  
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">  

添加配置(任意网上搜索到的)

    <!--开启这个配置,spring才能识别@Scheduled注解   -->  
    <task:annotation-driven scheduler="qbScheduler" mode="proxy"/>  
    <task:scheduler id="qbScheduler" pool-size="10"/>

添加Spring扫描

 <context:component-scan base-package="你的路径要扫描注解的" />

整个Spring配置文件就结束了,然后进行POJO类编写

@Component
public class TaskJob {
     // 每五秒执行一次
    @Scheduled(cron = "0/5 * * * * ?")
    public void TaskJob2() {
        System.out.println("定时器开始");
    }
}

这里用来测试使用的是cron 关于cron如下:

  每隔5秒执行一次:*/5 * * * * ?

  每隔1分钟执行一次:0 */1 * * * ?

  每天23点执行一次:0 0 23 * * ?

  每天凌晨1点执行一次:0 0 1 * * ?

  每月1号凌晨1点执行一次:0 0 1 1 * ?

  每月最后一天23点执行一次:0 0 23 L * ?

  每周星期天凌晨1点实行一次:0 0 1 ? * L

  在26分、29分、33分执行一次:0 26,29,33 * * * ?

  每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

大佬们看见多多指导,作为技术储备留用。。。。

猜你喜欢

转载自blog.csdn.net/s1040342522/article/details/78274847