原文:http://stevex.blog.51cto.com/4300375/1351980
http://shmilyaw-hotmail-com.iteye.com/blog/2169047
http://jingyan.baidu.com/article/0f5fb099cc244d6d8234ea6b.html
Spring最大的能耐之一就是提供对流行框架的无缝集成,Quartz作为Java实现的工业标准级别的定时任务调度器,Spring对其提供了无缝的集成,并大大简化了开发工作,这是使用Spring比较爽的地方之一。
-
Job(or Task):需要定时处理的事情
-
Trigger: 事件触发时间点(一次性的、固定周期性的、像Linux Cron Jobs 灵活配置的)
-
Scheduler: 调度器
<
bean
id
=
"fixedRateTask"
class
=
"com.stevex.demo.FixedRateTask"
></
bean
>
<
bean
id
=
"fixedTimeTask"
class
=
"com.stevex.demo.FixedTimeTask"
></
bean
>
<
bean
id
=
"job1"
class
=
"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
=
"targetObject"
ref
=
"fixedRateTask"
>
</
property
>
<
property
name
=
"targetMethod"
value
=
"doSth"
></
property
>
</
bean
>
<
bean
id
=
"job2"
class
=
"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
=
"targetObject"
ref
=
"fixedTimeTask"
>
</
property
>
<
property
name
=
"targetMethod"
value
=
"doSth"
></
property
>
</
bean
>
<
bean
id
=
"simpleTrigger"
class
=
"org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
ref
=
"job1"
/>
<
property
name
=
"startDelay"
value
=
"0"
/>
<!--单位毫秒 -->
<
property
name
=
"repeatInterval"
value
=
"60000"
/> <!--单位毫秒 -->
</
bean
>
<
bean
id
=
"cronTrigger"
class
=
"org.springframework.scheduling.quartz.CronTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
ref
=
"job2"
/>
<
property
name
=
"cronExpression"
value
=
"0 2 15 * * ?"
/>
</
bean
>
<
bean
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
=
"triggers"
>
<
list
>
<
ref
bean
=
"simpleTrigger"
/>
<
ref
bean
=
"cronTrigger"
/>
</
list
>
</
property
>
</
bean
>
Quartz的Scheduler对应类为Scheduler,Spring对应工厂类为SchedulerFactoryBean。
完整路径类名列表如下:
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
org.springframework.scheduling.quartz.QuartzJobBean
org.springframework.scheduling.quartz.SimpleTriggerFactoryBean
org.springframework.scheduling.quartz.SimpleTriggerBean
org.springframework.scheduling.quartz.CronTriggerFactoryBean
org.springframework.scheduling.quartz.CronTriggerBean
org.springframework.scheduling.quartz.SchedulerFactoryBean
Spring同时提供对Quartz的TriggerListener和JobListener的支持,这类似AOP编程,可以在任务执行前后进行检查等工作,通过简单的属性配置可实现。
一个maven的工程,其类型依然是archetype-quickstart。唯一不同的地方在于我们引入更多spring的库,其pom.xml文件内容如下:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.0.0</version>
</dependency>
就可以试试了
相关推荐
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等...使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。
NULL 博文链接:https://269937035.iteye.com/blog/2182979
spring 集成quartz定时任务 用数据库实现quartz的集群
SpringBoot集成Quartz定时任务(包含对任务的添加、暂停、删除、继续等)
SpringBoot集成Quartz完全分布式定时任务,即插即用,不好用直接捶我! SpringBoot集成Quartz分布式定时任务 SpringBoot集成Quartz分布式定时任务
spring+springMVC+mybatis+quartz动态定时任务
针对于spring集成quartz配置进行详细说明,并提供部分简单示例说明配置。
Spring集成Quartz的代码示例,可轻松实现可配置JAVA定时任务。
NULL 博文链接:https://fanshuyao.iteye.com/blog/2392350
Springboot整合Quartz实现定时任务数据库动态配置,新增任务、修改cron表达式、暂停任务、恢复任务、删除任务等操作
虽然可以通过属性文件(在属性文件中可以指定 JDBC 事务的数据源、全局作业和/或触发器侦听器、插件、线程池,以及更多)配置 Quartz,但它根本没有与应用程序服务器的上下文或引用集成在一起。结果就是作业不能访问...
Quartz1.7 动态添加、修改和删除定时任务(非spring集成版)
NULL 博文链接:https://zw7534313.iteye.com/blog/2219533
一个完整的Spring-quartz定时器 实现的示例
NULL 博文链接:https://panyongzheng.iteye.com/blog/1550427
quartz定时任务(包含动态切换数据源),spring集成。
Spring中集成的一个定时任务调度器,以备以后使用
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...
Quartzquartz定时任务跑批 包含Quartz Job Scheduling 学习的文档,Quartz_API的chm文档,demo(包含java例子以及集成spring的Quartz),直接能用