Quartz菜鸟到应用知识点大全汇总
Quartz菜鸟到应用知识点大全汇总
quartz&database
(1):表结构在文档中有具体说明
要将任务调度数据保存到数据库中,就必须使用org.quartz.impl.jdbcjobstore.JobStoreTX代替原来的org.quartz.simpl.RAMJobStore并提供相应的数据库配置信息。首先①处指定了Quartz数据库表的前缀,在②处定义了一个数据源,在③处具体定义这个数据源的连接信息。你必须事先在相应的数据库中创建Quartz的数据表,在Quartz的完整发布包的docs/dbTables目录下拥有对应不同数据库的SQL脚本。
QRTZ_CALENDARS:以Blob类型存储Quartz的Calendar信息。
QRTZ_CRON_TRIGGERS:存储Cron Trigger,包括Cron表达式和时区信息。
QRTZ_FIRED_TRIGGERS:存储与已触发的Trigger相关的状态信息,以及相联Job的执行信息QRTZ_PAUSED_TRIGGER_GRPS存储已暂停的Trigger组的信息。
QRTZ_SCHEDULER_STATE:存储少量的有关Scheduler的状态信息,和别的Scheduler实例(假如是用于一个集群中)。
QRTZ_LOCKS:存储程序的悲观锁的信息(假如使用了悲观锁)。
QRTZ_JOB_DETAILS:存储每一个已配置的Job的详细信息。
QRTZ_JOB_LISTENERS:存储有关已配置的JobListener的信息。
QRTZ_SIMPLE_TRIGGERS:存储简单的Trigger,包括重复次数,间隔,以及已触的次数。
QRTZ_BLOG_TRIGGERSTrigger:作为Blob类型存储(用于Quartz用户用JDBC创建他们自己定制的Trigger类型。
QRTZ_TRIGGER_LISTENERS:存储已配置的TriggerListener的信息。
QRTZ_TRIGGERS:存储已配置的Trigger的信息。
(2):数据源配置:
在项目中我们可以与spring配置公用一个数据源,quartz也提供quartz.properties配置数据源
(3):根据选择的数据库类型做不同配置选定JDBC代理类
(4):注意
如果你使用JDBC保存任务调度数据时,当你运行代码一个job然后退出,当再次希望运行job时,系统将抛出JobDetail重名的异常:
Unable to store Jobwith name:'job1_1'and group:'jGroup1',because one already exists with thisidentification.
因为每次调用Scheduler#scheduleJob()时,Quartz都会将JobDetail和Trigger的信息保存到数据库中,如果数据表中已经同名的JobDetail或Trigger,异常就产生了。
尊重原创文章,转载请注明出处与链接:http://www.mxiao.cn/1541/new/141162/违者必究!
以上就是洛阳达内教育IT培训中心 小编为您整理Quartz菜鸟到应用知识点大全汇总的全部内容。