转载自:http://blog.sina.com.cn/s/blog_4d6c7dea0100utks.html
Quartz框架提供了丰富的任务调度支持,比如,在何时执行何种任务,它是一个开源的由OpenSymphony维护的项目,开发者能够在Java EE,或单独的Java SE应用中使用它。无论是简单的任务调度,还是复杂的企业级应用,Quartz都能够很好地胜任。其中,这些任务可以是普通POJO,甚至还可以是EJB 3.0组件。
如果开发者需要开发如下方面的应用,则Quartz是理想的选择。
◆驱动工作流:比如,如果新创建的流程任务需要在2小时内处理完,则在2小时后Quartz会检查订单是否成功处理。如果没有处理,则Quartz会依据工作流定义的规则来对订单进行处理,销毁它,或者进行其他处理。
◆系统维护工作:比如,在每个工作日的固定时间将RDBMS中的内容导出为XML文件。
<wbr><wbr><wbr><wbr><wbr><wbr>Spring 2.0提供了org.springframework.scheduling.quartz包,以支持Quartz任务调度集成。为提供用户的任务,开发者实现的类必须继承于quartz.QuartzJobBean抽象类。QuartzJobBean是Quartz中org.quartz.Job接口的简单实现(子类),Spring为简化Job接口的实现而提供了QuartzJobBean类。QuartzJobBean同Java 2 SDK中的TimerTask类似,用于定义任务本身。其中,executeInternal()方法定义待执行的任务,这同TimerTask中的
run()类似。<br><wbr><wbr><wbr><wbr><wbr><wbr>为了指定更复杂的任务调度规则,开发者要使用Spring提供的CronTriggerBean,它是Quartz中 org.quartz.CronTrigger的子类,Spring 2.0为简化CronTrigger子类的开发而提供了CronTriggerBean。CronTriggerBean比 SimpleTriggerBean功能更强大,它能够控制任务执行的精确时间,比如,早上九点半需要执行某QuartzJobBean中给定的任务。借助于CronTriggerBean中的cronExpression属性能够设定任务的执行时机。<br><wbr><wbr><wbr><wbr><wbr><wbr>Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写二个被调度的类QuartzJob,及QuartzJobTwo,二个以上类似:<br><span style="color:#ff00ff">package com.writchie.quartz;<br>
public class QuartzJob<br>
{<br><wbr><wbr><wbr><wbr>public void work()<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>System.out.println("吴理琪提示您:Spring Quartz的任务调度1被调用!");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>//定时调用的业务逻辑<br><wbr><wbr><wbr><wbr>}<br>
}<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><br><span style="color:#ff00ff">package com.writchie.quartz;<br>
public class QuartzJobTwo<br>
{<br><wbr><wbr><wbr><wbr>public void work()<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>System.out.println("吴理琪提示您:Spring Quartz的任务调度2被调用 !");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>//定时调用的业务逻辑<br><wbr><wbr><wbr><wbr>}<br>
}<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><br>
Spring的配置文件applicationContext.xml:<br><span style="color:#0000ff"><?xml version="1.0" encoding="UTF-8"?><br>
<beans<br>
xmlns="</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>http://www.springframework.org/schema/beans<wbr><span style="font-size:12px; color:#0000ff">"<br>
xmlns:xsi="</span><a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank"><span style="font-size:12px; color:#0000ff">http://www.w3.org/2001/XMLSchema-instance</span></a><wbr><span style="font-size:12px; color:#0000ff">"<br>
xsi:schemaLocation="</span><a href="http://www.springframework.org/schema/beans" target="_blank"><span style="font-size:12px; color:#0000ff">http://www.springframework.org/schema/beans</span></a><wbr><a href="http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" target="_blank"><span style="font-size:12px; color:#0000ff">http://www.springframework.org/schema/beans/spring-beans-2.5.xsd</span></a><wbr><span style="font-size:12px"><span style="color:#0000ff">"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 要调用的工作类 --><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><bean id="quartzJob" class="com.writchie.quartz.QuartzJob"></bean><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><bean id="quartzJobTwo" class="com.writchie.quartz.QuartzJobTwo"></bean><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 可继续加新的任务 <wbr><wbr>--><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 要调用的工作类结束 --><br><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 定义调用对象和调用对象的方法 --><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailF<wbr>actoryBean"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 调用的类 --><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><property name="targetObject"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><ref bean="quartzJob"/><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></property><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 调用类中的方法 --><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><property name="targetMethod"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><value>work</value><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></property><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></bean><br><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><bean id="jobtask2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailF<wbr>actoryBean"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><!-- 调用的类 --><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><property name="targetObject"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><ref bean="quartzJobTwo"/><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></property><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></span></wbr></wbr></wbr></wbr>
分享到:
相关推荐
spring+quartz实现动态设置定时任务,自己的例子+心得+sql语句
Spring + quartz 定时任务修改定时时间不重启服务
可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个...
上一次传错了资源了,这个是正确的,包含quartz动态定时任务的
spring整合quartz定时任务调度..........
基于Spring的Quartz动态定时任务增删改查,代码简洁。后端采用SpringMvc+Spring+Mybatis+Quartz,前端采用Bootstrap框架,数据库采用MySQL;完成定时任务动态任务初始化,增删改查
Springboot整合Quartz实现定时任务数据库动态配置,新增任务、修改cron表达式、暂停任务、恢复任务、删除任务等操作
定时任务demo,Java语言,spring整合quartz配置文件实现定时任务
Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查,部署到tomcat即可看到定时任务执行效果。本人亲测,可用!
Spring+Quartz实现定时任务的配置方法.rar
本项目实现对quartz定时任务的增加、停止、恢复等功能。前端为jQuery+ bootstrap实现可视化操作,附带有mybatis分页插件应用
spring3.0+quartz-1.6.0实现定时任务
这个东西是我在配置spring和quartz实现定时任务时遇到的。因为spring2.0好像有bug,在spring配置文件中用普通的trigger注入时,会报序列化的错误。里面有MethodInvokingJobDetailFactoryBean和...
springboot整合Quartz实现动态配置定时任务源码
spring结合quartz的定时的2种方式
Quartz.net作业调度自定义定时执行任务多任务执行c#,定时执行任务,如超时取消订单,自动确认收货等等
spring注解Quartz定时执行功能
spring+quartz定时小例子,架包+文档 我自己整理的
java spring quartz 实现的动态定时任务,可以动态添加高度任务
spring+springMVC+mybatis+quartz动态定时任务