传统的定时任务调度主要有以下几种方式:

Timer

SpringBoot 整合 SpringTask定时任务调度_Java开发

 


开发中异步任务的几种写法:

SpringBoot 整合 SpringTask定时任务调度_Java开发_02

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_03

 

这么写 显然达不到需求,如果我们 需要修改定时任务时间 就要修改源码,常用的做法是 将Cron触发器表达式封装成一个对象

SpringBoot 整合 SpringTask定时任务调度_Java开发_04

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_05

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_06

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_07

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_08

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_09

 

SpringBoot 整合 SpringTask定时任务调度_Java开发_10

 

另外扩展:

自定义线程池:

SpringBoot 整合 SpringTask定时任务调度_Java开发_11

 

如何从普通的类中获取ioc容器中的Bean?

SpringBoot 整合 SpringTask定时任务调度_Java开发_12

 

如何创建异步任务生产工厂?

SpringBoot 整合 SpringTask定时任务调度_Java开发_13

 

如何调用?

SpringBoot 整合 SpringTask定时任务调度_Java开发_14