十二、spring boot 2.x 定时任务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LDY1016/article/details/83506254

 在调度任务的类上加上@EnableScheduling注解 开启任务调度,直接上代码

package com.ldy.bootv2.demo.job;

import javax.annotation.PostConstruct;

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


@Component
@EnableScheduling  
public class TaskScheduled {
	
	private static Logger logger = LoggerFactory.getLogger(TaskScheduled.class);
	
	/**
	 * @方法名: init<br>
	 * @描述: 项目启动初始化执行<br>
	 */
	@PostConstruct
	public void init() {
		//TODO 这里写你要执行的代码
		logger.info("init:初始任务开始执行,只执行一次");
	}
	
	/**
	 * <p>方法名: execute</p>
	 * <p>描述: 定时任务,上一次开始执行时间点之后10秒再执行</p>
	 */
	@Scheduled(fixedRate = 1000*10)
	public void execute1() {
		//TODO 这里写你要执行的代码
		logger.info("execute1:10秒执行一次,下一次执行时间是当前执行时间开始之后10秒");
		try {
			Thread.sleep(1000*5);//睡眠5秒观察执行情况
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * <p>方法名: execute</p>
	 * <p>描述: 定时任务,上一次执行完毕时间点之后10秒再执行</p>
	 */
	@Scheduled(fixedDelay = 1000*10)
	public void execute2() {
		//TODO 这里写你要执行的代码
		logger.info("execute2:10秒执行一次,下一次执行时间是当前执行完成时间之后10秒");
		try {
			Thread.sleep(1000*5);//睡眠5秒观察执行情况
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

启动项目,观察调度情况如图

猜你喜欢

转载自blog.csdn.net/LDY1016/article/details/83506254