Quartz+Spring 分布式定时任务调度(二)- 集群配置

本文介绍了如何在Quartz与Spring环境下配置分布式定时任务集群。主要步骤包括修改quartz.properties文件,避免在配置文件中直接设置数据库连接,而是将数据库配置移到Spring配置文件中。同时强调了SchedulerFactoryBean的configLocation配置和jobFactory的重要性。此外,文章还提到了自定义Job类、创建Quartz工具类的使用方法,并指出在多台Tomcat上部署时,Quartz能实现负载均衡和容错。
摘要由CSDN通过智能技术生成

写的不好的地方请大家多多指正

      上一篇讲解的环境的搭建,接着我们继续来讲集群,quartz的集群配置是在quartz.properties文件中,我们来修改一下quartz.properties 文件:

# Default Properties file for use by StdSchedulerFactory
# to create a Quartz Scheduler Instance, if a different
# properties file is not explicitly specified.
#
# 调度器实例的名字,使用默认的DefaultQuartzScheduler就好
org.quartz.scheduler.instanceName: DefaultQuartzScheduler
# 调度器实例的ID, 选择AUTO
org.quartz.scheduler.instanceId:AUTO
org.quartz.scheduler.rmi.export: false
org.quartz.scheduler.rmi.proxy: false
# 跳过更新检查
org.quartz.scheduler.skipUpdateCheck:true
# 配置线程池
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 10
org.quartz.threadPool.threadPriority: 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
#
# quartz默认的是将job信息存储在内存中,quartz集群必须将job信息持久化到数据库中
org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.misfireThreshold:60000
############
org.quartz.jobStore.useProperties:true
#quartz数据表的前缀,quartz的数据表在 quartz-2.2.3\docs\dbTables 文件夹中,
#选择对应的数据库版本,将数据库创建出来
org.quartz.jobStore.tablePrefix:QRTZ_
# 最关键的  是否支持集群 选择true
org.quartz.jobStore.isClustered:true
org.quartz.jobStore.clusterCheckinInterval:15000
# dataSource
#org.quartz.jobStore.dataSource:myDS
#org.quartz.dataSource.myDS.connectionProvider.class:com.abc.util.MyPoolingconnectionProvider
#org.quartz.dataSource.myDS.driver: com.mysql.jdbc.Driver 
#org.quartz.dataSource.myDS.url: jdbc:mysql://localhost:3306/quartz?useUnicode=true&characterEncoding=utf-8 
#org.quartz.dataSource.myDS.user: root 
#org.quartz.dataSource.myDS.password: root 
#org.quartz.dataSource.myDS.maxConnections: 10

quartz.properties 配置完成,注意事项就是,需要创建数据库(推荐大家还是去官网下载quartz的包)。

这个配置文件中我将数据库连接的配置注释掉了,因为如果要在这里配置数据库连接的话,需要一个数据库连接的类,quartz本身的数据库连接类是有bug的,需要我们自己写一个数据库连接池的类 。就是这行配置:

org.quartz.dataSource.myDS.connectionProvider.class:com.abc.util.MyPoolingconnectionProvider

MyPoolingconnectionProvider.java 是安利的别人的,会在文章末尾贴出。
所以我不建议在quartz的配置文件中配置数据库连接,最好将数据库的连接配置放到Spring的配置文件中:

<!--放入 applicationContext.xml 中-->
 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
        <property name="driverClass">  
            <value>com.mysql.jdbc.Driver</value>  
        </property>  
        <property name="jdbcUrl">  
            <value>jdbc:mysql://localhost:3306/quartz</value>  
        </property>  
        <property name="user">  
            <value>root</value>  
        </property></
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值