quartz定时任务调度

文章说明:使用maven管理项目,spring mvc框架。
引入quartz-2.2.1-jar包

   <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
    </dependency>

quartz实现原理:
1、配置任务实现类:
1.1、实现job接口 , public class TaskB implements Job(){};
1.2、继承 QuartzJobBean,public class TaskB extends QuartzJobBean(){};
2、配置触发器:也就是cron表达式(时间)

任务实体类:包含任务名称,任务分组,时间(cron表达式),任务实现类,

备注:持久化到数据库的时候,此实体类需实现序列化,否则将保存失败,任务无法启动项目时生效!

持久化到数据库时xml配置文件中需增加配置:同时增加持久化配置:quartz.properties

<bean id="scheduler" lazy-init="false" autowire="no"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:quartz.properties" />
        <property name="applicationContextSchedulerContextKey" value="applicationContextKey" />
    </bean>

quartz.properties:持久化配置文件
备注:配置时注意配置文件的相关值,具体根据需求查看相关文档进行配置.

org.quartz.scheduler.instanceName = TestScheduler1
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 15000
#org.quartz.jobStore.dataSource = myDS

备注:开发quartz定时任务时,可以考虑定义一个quartz类(static)管理类,将quartz的相关任务方法定义为static类变量进行调用。常用方法。增删查改,运行一次任务,暂停任务,恢复任务,取得所有运行的任务,获取计划任务等。注意JobKey.jobKey(jobName, jobGroup);的运用。相当于任务的标识ID,暂停,恢复使用key进行操作.

注意配置文件的相关配置数据,持久化信息到数据库(重要并且配置灵活),Scheduler对象是关键
job相关数据库的表结构和语句可在jar包中查找
熟悉相关job方法
启动web(tomcat7)项目时任务执行多次:
— 未解决:

引用他人博客:
http://blog.csdn.net/u014723529/article/details/51291289
集群:
http://blog.csdn.net/wenniuwuren/article/details/45866807
码云:quartz项目地址:https://git.oschina.net/longyu/jty

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值