20180725关于quartz的初识
请参照:
https://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/
https://www.w3cschool.cn/quartz_doc/quartz_doc-3x7u2doc.html
https://www.cnblogs.com/jiafuwei/p/6145280.html
关于quartz的初识
针对quartz在大型企业应用系统中,有更加突出的使用。下面是我自己的一些想法,或许不正确,请大家批评指正。
1、总体流程来说 应为 schedule--->job--->trigger,首先由schedule_factory实例化一个schedule,我们建立对应的job信息,然后在建立触发器的信息,告知schedule如何触发,以及何时触发。
比较重要的是
`qrtz_triggers` -- 触发器的基本信息
`qrtz_cron_triggers` -- qrtz_cron_triggers:采用cronExpression表达式配置时间
`qrtz_job_details` -- 存放一个jobDetail信息
`qrtz_scheduler_state` -- 调度器状态,主要用于集群信息配置
2、建立好的job将信息存储在数据库中,这样方便永久存储。
3、针对分布式集群,我们将服务器信息记录到qrtz_scheduler_state表中,通过轮训查看表中配置信息,确定如何进行任务调度。
针对单节点数据库,那么从该表中直接读取数据库相关表信息即可,
针对分布式集群形式,那么依赖HA的高可用进行qrtz_scheduler_state表数据改变,然后再执行对应任务。