springboot定时任务单线程

springboot定时任务就两点
1.创建一个能被定时任务类,方法上加入@Scheduled注解
2.在启动类application上加入@EnableScheduling注解

application项目代码

package com.example.demo;

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

@SpringBootApplication
@EnableScheduling
public class DemoApplication {

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

创建一个定时任务

package com.example.demo.utils;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component

public class SchedulingDemo {
    //第一次延迟6秒后执行,之后按fixedRate的规则每20秒执行一次。
    @Scheduled(initialDelay = 6000, fixedRate = 20000)
    public void test() {
        System.out.println("执行定时任务的时间是:" + new Date());
    }

}

执行结果(单线程)

1.png

从控制台的输出我们可以看到所有的定时任务都是在同一个线程池里进行的

你可能感兴趣的:(springboot定时任务单线程)