Spring Boot 定时任务

一、使用场景

需要在程序中加入定时任务,且该定时任务要随着程序的启动而启动,不需要额外的触发 

二、参考文献

本文内容完全复制的以下链接,用作备份,侵删

https://blog.csdn.net/m0_37885618/article/details/77196691

三、spring boot实例

@Configuration
@EnableScheduling
public class SchedulingConfig {
    private final Logger logger = LoggerFactory.getLogger(getClass());

    @Resource 
    private RobotRestServiceImpl robotRestService;

    @Scheduled(cron = "0 0/10 * * * ?") // 每10分钟执行一次
    public void getToken() {
        logger.info("getToken定时任务启动");
    }

说明:

类上带有@Configuration的类,等同于spring的XML配置文件,好处是使用Java代码可以检查类型安全。通常还会搭配其他注解来实现不同的需求,如本例中,搭配的@EnableScheduling。

在spring-boot中需要在类上添加@EnableScheduling注解来开启对计划任务的支持。

在开启对计划任务的支持后,需要@Scheduled注解的配合。@Scheduled是方法上注解,添加该注解的方法即为单个计划任务。@Scheduled注解定义了计划任务的执行计划,有两种方式可以定义: 
1.@Scheduled(fixedRate = 5000) //通过@Scheduled声明该方法是计划任务,使用fixedRate属性每隔固定时间5秒执行一次 
2.@Scheduled(cron = “0 0/10 * * * ?”) //使用cron属性可按照指定时间执行,本例指的是每10分钟执行一次;

猜你喜欢

转载自my.oschina.net/Cubicluo/blog/1806268