quartz mysql 表 集群配置_Quartz+Spring的集群配置(转)

图:表示了每个节点直接与数据库通信,若离开数据库将对其他节点一无所知

在数据库中建表。建表模版在Quartz包下docs/dbTables下,选择相应的数据库和版本即可。DB2_V8的11个Table列表如下:

QRTZ_JOB_LISTENERS

QRTZ_TRIGGER_LISTENERS

QRTZ_FIRED_TRIGGERS

QRTZ_PAUSED_TRIGGER_GRPS

QRTZ_SCHEDULER_STATE

QRTZ_LOCKS

QRTZ_SIMPLE_TRIGGERS

QRTZ_CRON_TRIGGERS

QRTZ_TRIGGERS

QRTZ_JOB_DETAILS

QRTZ_CALENDARS

QRTZ_BLOB_TRIGGERS

2、 配置数据库连接池,如果spring已经配置则不需要再另行配置,只需在后面配置的applicationContext-quartz.xml引入即可。

applicationContext.xml:

1

4f1150b881333f12a311ae9ef34da474.pngclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">34f1150b881333f12a311ae9ef34da474.png44f1150b881333f12a311ae9ef34da474.pngclasspath:dataConfig.properties54f1150b881333f12a311ae9ef34da474.png64f1150b881333f12a311ae9ef34da474.png74f1150b881333f12a311ae9ef34da474.png           destroy-method="close">94f1150b881333f12a311ae9ef34da474.png104f1150b881333f12a311ae9ef34da474.png${ds34.driver}114f1150b881333f12a311ae9ef34da474.png124f1150b881333f12a311ae9ef34da474.png134f1150b881333f12a311ae9ef34da474.png${ds34.url}144f1150b881333f12a311ae9ef34da474.png154f1150b881333f12a311ae9ef34da474.png164f1150b881333f12a311ae9ef34da474.png${ds34.username}174f1150b881333f12a311ae9ef34da474.png184f1150b881333f12a311ae9ef34da474.png194f1150b881333f12a311ae9ef34da474.png${ds34.password}204f1150b881333f12a311ae9ef34da474.png214f1150b881333f12a311ae9ef34da474.png224f1150b881333f12a311ae9ef34da474.png234f1150b881333f12a311ae9ef34da474.png244f1150b881333f12a311ae9ef34da474.png254f1150b881333f12a311ae9ef34da474.png

dataConfig.properties:

4f1150b881333f12a311ae9ef34da474.pngds34.driver=com.ibm.db2.jcc.DB2Driver   

4f1150b881333f12a311ae9ef34da474.pngds34.url=jdbc:db2://192.168.*.*:50000/XXXX4f1150b881333f12a311ae9ef34da474.pngds34.username=admin  

4f1150b881333f12a311ae9ef34da474.pngds34.password=*******

3、 配置quartz.properties

org.quartz.scheduler.instanceName属性可为任何值,用在 JDBC JobStore 中来唯一标识实例,但是所有集群节点中必须相同。

org.quartz.scheduler.instanceId 属性为 AUTO即可,基于主机名和时间戳来产生实例 ID。

org.quartz.jobStore.class属性为 JobStoreTX,将任务持久化到数据中。因为集群中节点依赖于数据库来传播 Scheduler 实例的状态,你只能在使用 JDBC JobStore 时应用 Quartz 集群。这意味着你必须使用 JobStoreTX 或是 JobStoreCMT 作为 Job 存储;你不能在集群中使用 RAMJobStore。

org.quartz.jobStore.isClustered 属性为 true,你就告诉了 Scheduler 实例要它参与到一个集群当中。这一属性会贯穿于调度框架的始终,用于修改集群环境中操作的默认行为。

org.quartz.jobStore.clusterCheckinInterval 属性定义了Scheduler 实例检入到数据库中的频率(单位:毫秒)。Scheduler 检查是否其他的实例到了它们应当检入的时候未检入;这能指出一个失败的 Scheduler 实例,且当前 Scheduler 会以此来接管任何执行失败并可恢复的 Job。通过检入操作,Scheduler 也会更新自身的状态记录。clusterChedkinInterval 越小,Scheduler 节点检查失败的 Scheduler 实例就越频繁。默认值是 15000 (即15 秒)。

quartz.properties:

1

4f1150b881333f12a311ae9ef34da474.png##Quartz 调度任务所需的配置文件24f1150b881333f12a311ae9ef34da474.png34f1150b881333f12a311ae9ef34da474.png##org.quartz.scheduler.instanceName属性可为任何值,用在 JDBC JobStore 中来唯一标识实例,但是所有集群节点中必须相同。44f1150b881333f12a311ae9ef34da474.pngorg.quartz.scheduler.instanceName=HumsScheduler54f1150b881333f12a311ae9ef34da474.png##org.quartz.scheduler.instanceId 属性为 AUTO即可,基于主机名和时间戳来产生实例 ID。64f1150b881333f12a311ae9ef34da474.pngorg.quartz.scheduler.instanceId=AUTO74f1150b881333f12a311ae9ef34da474.png84f1150b881333f12a311ae9ef34da474.pngorgorg.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool94f1150b881333f12a311ae9ef34da474.pngorg.quartz.threadPool.threadCount= 10104f1150b881333f12a311ae9ef34da474.pngorg.quartz.threadPool.threadPriority= 5114f1150b881333f12a311ae9ef34da474.pngorg.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true124f1150b881333f12a311ae9ef34da474.png134f1150b881333f12a311ae9ef34da474.pngorg.quartz.jobStore.misfireThreshold= 60000144f1150b881333f12a311ae9ef34da474.png ##org.quartz.jobStore.class属性为 JobStoreTX,将任务持久化到数据中。154f1150b881333f12a311ae9ef34da474.png ##因为集群中节点依赖于数据库来传播 Scheduler 实例的状态,你只能在使用 JDBC JobStore 时应用 Quartz 集群。164f1150b881333f12a311ae9ef34da474.png ##这意味着你必须使用 JobStoreTX 或是 JobStoreCMT 作为 Job 存储;你不能在集群中使用 RAMJobStore。174f1150b881333f12a311ae9ef34da474.pngorgorg.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX184f1150b881333f12a311ae9ef34da474.pngorgorg.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate194f1150b881333f12a311ae9ef34da474.pngorg.quartz.jobStore.tablePrefix=QRTZ_204f1150b881333f12a311ae9ef34da474.pngorg.quartz.jobStore.maxMisfiresToHandleAtATime=10214f1150b881333f12a311ae9ef34da474.png##org.quartz.jobStore.isClustered 属性为 true,你就告诉了 Scheduler 实例要它参与到一个集群当中。224f1150b881333f12a311ae9ef34da474.png##这一属性会贯穿于调度框架的始终,用于修改集群环境中操作的默认行为。234f1150b881333f12a311ae9ef34da474.pngorg.quartz.jobStore.isClustered=true244f1150b881333f12a311ae9ef34da474.png##org.quartz.jobStore.clusterCheckinInterval 属性定义了Scheduler 实例检入到数据库中的频率(单位:毫秒)。254f1150b881333f12a311ae9ef34da474.png##Scheduler 检查是否其他的实例到了它们应当检入的时候未检入;这能指出一个失败的 Scheduler 实例,且当前 Scheduler 会以此来接管任何执行失败并可恢复的 Job。264f1150b881333f12a311ae9ef34da474.png##通过检入操作,Scheduler 也会更新自身的状态记录。clusterChedkinInterval 越小,Scheduler 节点检查失败的 Scheduler 实例就越频繁。默认值是15000(即15 秒)。274f1150b881333f12a311ae9ef34da474.pngorg.quartz.jobStore.clusterCheckinInterval= 20000

4、配置applicationContext-quartz.xml

1

4f1150b881333f12a311ae9ef34da474.png<?xml  version="1.0" encoding="UTF-8"?>24f1150b881333f12a311ae9ef34da474.png34f1150b881333f12a311ae9ef34da474.pngbeans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">44f1150b881333f12a311ae9ef34da474.png54f1150b881333f12a311ae9ef34da474.png64f1150b881333f12a311ae9ef34da474.png74f1150b881333f12a311ae9ef34da474.png84f1150b881333f12a311ae9ef34da474.png94f1150b881333f12a311ae9ef34da474.png104f1150b881333f12a311ae9ef34da474.png114f1150b881333f12a311ae9ef34da474.png124f1150b881333f12a311ae9ef34da474.png134f1150b881333f12a311ae9ef34da474.png144f1150b881333f12a311ae9ef34da474.png154f1150b881333f12a311ae9ef34da474.png164f1150b881333f12a311ae9ef34da474.png174f1150b881333f12a311ae9ef34da474.png184f1150b881333f12a311ae9ef34da474.png194f1150b881333f12a311ae9ef34da474.png204f1150b881333f12a311ae9ef34da474.png214f1150b881333f12a311ae9ef34da474.png继承QuartzJobBean的类的引用,如果不继承QuartzJobBean可以参考 http://www.javaeye.com/topic/486055224f1150b881333f12a311ae9ef34da474.png234f1150b881333f12a311ae9ef34da474.png244f1150b881333f12a311ae9ef34da474.png254f1150b881333f12a311ae9ef34da474.png264f1150b881333f12a311ae9ef34da474.png274f1150b881333f12a311ae9ef34da474.png284f1150b881333f12a311ae9ef34da474.png294f1150b881333f12a311ae9ef34da474.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值