SpringBoot下开启定时机制

有时候我们在做项目时,会遇到使用定时任务来定时执行一些操作,如:文件迁移,备份等等。

今天就来跟大家一起学习下如何在SpringBoot中创建定时任务。

1.首先我们需要修改Spring Boot启动文件,加入注解@EnableScheduling来开启定是机制。代码如下:

@SpringBootApplication
@EnableScheduling
public class ProjectServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProjectServerApplication.class, args);
    }
}

2.然后我们需要写一个定时服务来执行。下面常规操作我们首先创建任务接口,示例代码如下:

public interface ITaskService {
    /**
     * 定时服务要执行的服务层方法
     */
    public void testTask();
}

3.创建开发类,实现定时机制。示例代码如下:

@Service
public class ITaskServiceImpl implements ITaskService {

    /**
     * 清除上传的临时文件定时服务
     * 设置每天3点执行一次任务 @Scheduled(cron = "0 0 3 * *?")
     * 此处为了测试设置为每分钟执行一次
     */
    @Override
    @Scheduled(fixedRate = 1000*60)
    public void testTask() {
        logger.info("定时任务开始执行。。。。。");

        /*
        此处放置要执行的任务代码
         */

        logger.info("定时任务执行结束。。。。。");
    }
}

4.启动后即可测试效果,请自行测试。

备注:

本示例中使用的是 fixedRate函数,它指定的是从调用开始时间到指定时间之后,单位毫秒。

 fixedDelay指定从完成任务测量的时间间隔。

指定具体时间,使用 Scheduled(cron="... ")

cron参数说明: 0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时

0 0 12 ? * WED 表示每个星期三中午12点 
"0 0 12 * * ?" 每天中午12点触发

其中 按顺序依次为:

秒(0~59)、分钟(0~59)、小时(0~23)、天(0~31,天数不一致)、月(0~11)

天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

7.年份(1970-2099)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值