如果你只是想要简单的SpringBoot整合Quartz,对定时任务进行 自定义逻辑,启动,暂停,恢复,删除,修改。 可以参考 : https://github.com/EalenXie/springboot-quartz-simple (这个例子相当于算是个整合Quartz入门的例子,我也做了完整和详细的注释说明)
运行效果如图 :
看到这里,说明Quartz集群已经搭建成功了。如果部署该项目应用到多个服务器上面,Job会在多个服务器上面执行,但同一个Job只会在某个服务器上面执行,即如果服务器A在某个时间执行了某个Job,则其他服务器如B,C,D在此时间均不会执行此Job。即不会造成该Job被多次执行。
这里可以看到数据库中的Job已经在Quartz注册并初始化成功了,Scheduler也在工作了,Job也已经按照cron在定时执行。
本例中,如果job包含一个jar的路径,并且该jar包是一个可执行的JOB,则可以看到该JOB的运行情况 :
看到JOB已经执行完成了 :
此时如果在数据库中手动修改某个Job的执行cron,并不会马上生效,则可以调用上面写到的业务方法,/refresh/all,则可刷新所有的Job,或/refresh/{id},刷新某个Job。
-
请自行修改数据库配置: /application.yml
-
请准备Quartz的元数据表 : quartz_innodb.sql
-
请为这个例子的Job配置准备一个表 : job_entity.sql
-
如果想要查看真实的jar包运行,请准备一个真实的jar包路径,并且该jar包是可执行的(有主程序运行清单),并设置该JOB的状态为OPEN。