springboot中定时任务的使用

1.对于springboot项目而言。

2.springboot主程序要加上@EnableScheduling注解,要执行的任务要加上@Scheduled注解。

3.@Scheduled注解里面有个cron表达式,如下粗略讲下cron表达式的用法。
cron表达式可含6个或者7个域
秒 分钟 小时 一个月的第几天 第几个月 一周的星期几
秒 分钟 小时 一个月的第几天 第几个月 一周的星期几 年

" * " 表示匹配任意值,适用于所有的域
" / " 表示指点的时间后每隔一段时间执行一次任务,比如2/5,当前时间2秒后每隔5分钟都执行一次任务
" - " 表示一个范围,比如3-6,在3秒后到6秒期间都会执行任务
" , " 表示枚举,比如3,5,7,在第3秒,第5秒和第7秒各执行一次任务
" ?" 只适用于一个月的第几天和一周的星期几这两个域,代表匹配任意值

3.1) 例子一

每天早上10点执行一次任务
0 0 10 * * ?

每天中午12点半执行一次任务
0 30 12 * * ?

每月的1号早上10点执行一次任务
0 0 10 1 * ?

每天的9点30分到50分之间执行任务
0 30-50 9 * * ?

每天的9点,11点和13点各执行一次任务
0 0 9,11,13 * * ?

每天早上9点之后,每隔一个小时执行一次任务
0 0 9/1 * * ?

每年的3月1号的中午12点15分15秒执行一次任务
15 15 12 1 3 ?*

3.2)例子二:当前时间两秒后每隔三秒都执行一次任务(2/3 * * * * ?)

1.springboot主程序

package com.qingfeng.scheduledemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class ScheduledemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(ScheduledemoApplication.class, args);
    }

}

2.定时任务所在的类

package com.qingfeng.scheduledemo.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

/**
 * @author:wfj
 * @date:Created in 14:03
 * @version:1.0
 */

@Service
public class CrobJob {

    private static final Logger logger = LoggerFactory.getLogger(CrobJob.class);

    @Scheduled(cron = "2/3 * * * * ?")
    public void task() {
        logger.info("HelloWorld");
        logger.info(System.currentTimeMillis() / 1000 +"");

    }
}

3.结果
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值