使用quartz主要是为了完成任务调度功能,百度一下,基本都是介绍各类原理和简单的使用示例,能够实现单独使用或者集成spring使用。对于单独使用quartz,且以调度平台的方式使用则介绍很少。下面展现一下简单的调度平台的开发!(问题还有不少,慢慢解决吧)mysql
结合搜索到的内容,本地搭建了一个简单的平台示例。git
代码码云地址:https://gitee.com/seguzhizi/JobManagerspring
简单看下:sql
http://localhost:8080/JobManager/showtomcat
暂无任务eclipse
界面还没作,能够在本地经过直接访问url来添加:url
http://localhost:8080/JobManager/jobA/jobGroupA/addip
具体路径能够参见SchedulerController方法开发
添加以后,自动跳转到展现界面:rem
后台已在运行,部分输出以下:
点击暂停以后,再也不继续运行,输出中止
界面展现的状态已变化:PAUSED
此时界面展现可能有点bug,展现如图:
刷新一下就OK了
再次点击恢复:
状态变为NORMAL,后台输出也正常了
直接删除便可
这个直接修改quartz库中cron表的对应表达式便可,暂未实现
---------------
1:checkout代码导入eclipse
2:本地开启mysql,执行main/resources/quartz.sql
3:部署至tomcat直接启动(导入工程不报错)
4:访问便可
---------------
几个点说明下:
1:注意quartz.properties的配置
2:注意SchedulerFactoryBean的bean配置
3:一个job实例对应多个trigger,可是一个trigger只能触发一个job实例
4:quartz的scheduler是一个大管家,在service中也能够看到调度任务都是由它来控制的(将其注入的)
5:目前添加任务时,Class参数是写死的,须要扩展
6:这个是本地的job实例,还有一个remote类型的实例,目前尚未试,若是有意引入定时任务管理系统,能够考虑码云上的xxl-job开源系统,比较好用