Quartz集成springMVC (持久化任务、集群和分布式)

Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等。 Quartz核心是调度器,还采用多线程管理。

 

1.持久化任务:当应用程序停止运行时,所有调度信息不被丢失,当你重新启动时,调度信息还存在,这就是持久化任务。

 

2.集群和分布式处理:当在集群环境下,当有配置Quartz的多个客户端时(节点),采用Quartz的集群和分布式处理时,我们要了解几点好处 1) 一个节点无法完成的任务,会被集群中拥有相同的任务的节点取代执行。2) Quartz调度是通过触发器的类别来识别不同的任务,在不同的节点定义相同的触发器的类别,这样在集群下能稳定的运行,一个节点无法完成的任务,会被集群中拥有相同的任务的节点取代执行。3分布式 体现在 当相同的任务定时在一个时间点,在那个时间点,不会被两个节点同时执行。

 

 Quartz的 Task11 张表)实例化采用数据库存储,基于数据库引擎及 High-Available 的策略(集群的一种策略)自动协调每个节点的 Quartz

 

 

 

[sql]  view plain   copy
 
  1.    
  2. delete from qrtz_fired_triggers;  
  3. delete from qrtz_simple_triggers;  
  4. delete from qrtz_simprop_triggers;  
  5. delete from qrtz_cron_triggers;  
  6. delete from qrtz_blob_triggers;  
  7. delete from qrtz_triggers;  
  8. delete from qrtz_job_details;  
  9. delete from qrtz_calendars;  
  10. delete from qrtz_paused_trigger_grps;  
  11. delete from qrtz_locks;  
  12. delete from qrtz_scheduler_state;  
  13.    
  14.    
  15.    
  16. CREATE TABLE qrtz_job_details  
  17.   (  
  18.     SCHED_NAME VARCHAR2(120) NOT NULL,  
  19.     JOB_NAME  VARCHAR2(200) NOT NULL,  
  20.     JOB_GROUP VARCHAR2(200) NOT NULL,  
  21.     DESCRIPTION VARCHAR2(250) NULL,  
  22.     JOB_CLASS_NAME   VARCHAR2(250) NOT NULL,   
  23.     IS_DURABLE VARCHAR2(1) NOT NULL,  
  24.     IS_NONCONCURRENT VARCHAR2(1) NOT NULL,  
  25.     IS_UPDATE_DATA VARCHAR2(1) NOT NULL,  
  26.     REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,  
  27.     JOB_DATA BLOB NULL,  
  28.     CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)  
  29. );  
  30. CREATE TABLE qrtz_triggers  
  31.   (  
  32.     SCHED_NAME VARCHAR2(120) NOT NULL,  
  33.     TRIGGER_NAME VARCHAR2(200) NOT NULL,  
  34.     TRIGGER_GROUP VARCHAR2(200) NOT NULL,  
  35.     JOB_NAME  VARCHAR2(200) NOT NULL,   
  36.     JOB_GROUP VARCHAR2(200) NOT NULL,  
  37.     DESCRIPTION VARCHAR2(250) NULL,  
  38.     NEXT_FIRE_TIME NUMBER(13) NULL,  
  39.     PREV_FIRE_TIME NUMBER(13) NULL,  
  40.     PRIORITY NUMBER(13) NULL,  
  41.     TRIGGER_STATE VARCHAR2(16) NOT NULL,  
  42.     TRIGGER_TYPE VARCHAR2(8) NOT NULL,  
  43.     START_TIME NUMBER(13) NOT NULL,  
  44.     END_TIME NUMBER(13) NULL,  
  45.     CALENDAR_NAME VARCHAR2(200) NULL,  
  46.     MISFIRE_INSTR NUMBER(2) NULL,  
  47.     JOB_DATA BLOB NULL,  
  48.     CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),  
  49.     CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)   
  50.       REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)   
  51. );  
  52. CREATE TABLE qrtz_simple_triggers  
  53.   (  
  54.     SCHED_NAME VARCHAR2(120) NOT NULL,  
  55.     TRIGGER_NAME VARCHAR2(200) NOT NULL,  
  56.     TRIGGER_GROUP VARCHAR2(200) NOT NULL,  
  57.     REPEAT_COUNT NUMBER(7) NOT NULL,  
  58.     REPEAT_INTERVAL NUMBER(12) NOT NULL,  
  59.     TIMES_TRIGGERED NUMBER(10) NOT NULL,  
  60.     CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),  
  61.     CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)   
  62. REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)  
  63. );  
  64. CREATE TABLE qrtz_cron_triggers  
  65.   (  
  66.     SCHED_NAME VARCHAR2(120) NOT NULL,  
  67.     TRIGGER_NAME VARCHAR2(200) NOT NULL,  
  68.     TRIGGER_GROUP VARCHAR2(200) NOT NULL,  
  69.     CRON_EXPRESSION VARCHAR2(120) NOT NULL,  
  70.     TIME_ZONE_ID VARCHAR2(80),  
  71.     CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),  
  72.     CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)   
  73.       REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)  
  74. );  
  75. CREATE TABLE qrtz_simprop_triggers  
  76.   (            
  77.     SCHED_NAME VARCHAR2(120) NOT NULL,  
  78.     TRIGGER_NAME VARCHAR2(200) NOT NULL,  
  79.     TRIGGER_GROUP VARCHAR2(200) NOT NULL,  
  80.     STR_PROP_1 VARCHAR2(512) NULL,  
  81.     STR_PROP_2 VARCHAR2(512) NULL,  
  82.     STR_PROP_3 VARCHAR2(512) NULL,  
  83.     INT_PROP_1 NUMBER(10) NULL,  
  84.     INT_PROP_2 NUMBER(10) NULL,  
  85.     LONG_PROP_1 NUMBER(13) NULL,  
  86.     LONG_PROP_2 NUMBER(13) NULL,  
  87.     DEC_PROP_1 NUMERIC(13,4) NULL,  
  88.     DEC_PROP_2 NUMERIC(13,4) NULL,  
  89.     BOOL_PROP_1 VARCHAR2(1) NULL,  
  90.     BOOL_PROP_2 VARCHAR2(1) NULL,  
  91.     CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),  
  92.     CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)   
  93.       REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值