SpringBoot定时任务配置

一、创建工程

新建SpringBoot工程,在程序的入口增加@EnableScheduling注解。

@SpringBootApplication
@MapperScan("com.wzj.demo.mapper")
@EnableScheduling
public class SpringBootWebSocketApplication  extends SpringBootServletInitializer{

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

	/**
	 *
	 * @param builder a builder for the application context
	 * @return the application builder
	 * @see SpringApplicationBuilder
	 */
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
	{
		return super.configure(builder);
	}
}

二、创建定时任务

在类添加@Component注解,在类的方法上增加@Scheduled注解

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;

@Component
public class TestTimeTask
{
    /**
     * 首次延时1s,然后每2秒执行一次
     */
    @Scheduled(initialDelay = 1000,fixedRate = 2000)
    public void task()
    {
        System.out.println(new Date());
    }
}

@Scheduled注解说明该方法是一个调度任务。

  • @Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行
  • @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行
  • @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次
  • 也可以通过cron表达式

运行工程,每2秒打印一行时间日志

SpringBoot定时任务配置_第1张图片

你可能感兴趣的:(Spring,Boot,SpringBoot,定时任务)