第一步:导入依赖
第二步:书写好已经写好的接口,我们的定时任务会定时执行这些接口,本案例调用的Controller类的类名为IndWarningAdviceController,这个类中有多个接口。
第三步,将quartz执行的执行SQL表的DQL,DDL文件在连接的库中执行出来。这个是quartz技术必备的。具体表的数据结构可以自行百度一下就OK了
第四步:配置配置文件,这个配置文件中有线程及开启分布式等一系列开关
第五步:配置文件,这张配置文件是将每一个人物都起了任务名,任务名为jobBeanName,cron为执行时间表达式,这个有不懂的可以及时了解一下,意思就是不同的时间执行不同的任务。这些任务名字会和下一步有关联。
第六步,job包下的各个以job结尾的类已经书写好了,每一个job类上面都写好了@Component注解,意思以组件的形式存在,方便调用,而且每一个都起了名字,就是括号里的绿色字体对应上一张配置文件的jobBeanName,这里用到了SpringUtil.getBean方法,意思就是将第二步中的IndWarningAdviceController类中所有接口都扫描了一遍。第二行代码就是执行这个类中的方法,indWar是这个类的对象,然后直接excuter......(这个类中的接口,括号里的是接口参数)
第七步:建立JobDisposition和第五步中的配置文件关联,将每一个job都封装成一个对象
第八步:@ConfigurationProperties是读取第五步中的配置文件,意思就是将这个配置文件的内容转换成JobDisposition类型的List结合
第九步:也是最后一步,将所有的任务开始执行,首先直接将Schedular(调度注入进来),然后将所有的配置任务的名字注入进来,最后new一个QuartzExecuteJob对象,将任务调度器和执行的任务为参数写入进方法中。最后一个图片就是最关键的了,
1.先声明了构造方法和属性。
2.然后写了方法,方法中任务详情就是将所有的任务做了封装,因为quartz中每一个job都要封装成jobDetail,
3.将Trigger出发器写出来
4.最后用调度器scheduler将Trigger和jobDetail一起为参数执行,整个任务调度工作就完成了