Spring中Quartz的配置及corn表达式

  Quartz可以用来执行任务调度功能,如间隔一定时间调用执行任务。用起来还是蛮方便的。只要将你要调用的类配置到Spring配置文件即可。

在Spring的配置文件中配置Quartz。

 1 <!-- 要调用的工作类 -->
 2        <bean id="quartzJob" class="com.aisino.projects.supply.task.Quartzjob"></bean>
 3        <!-- 定时任务活动生效与失效 -->
 4        <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 5            <!-- 调用的类 -->
 6            <property name="targetObject">
 7                <ref bean="quartzJob"/>
 8            </property>
 9            <!-- 调用类中的方法 -->
10            <property name="targetMethod">
11                <value>Job</value>
12            </property>
13        </bean>
14        <!-- 定义触发时间 -->
15        <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
16            <property name="jobDetail">
17                <ref bean="jobtask"/>
18            </property>
19            <!-- cron表达式 -->
20            <property name="cronExpression">
21                <value>0 1 0 * * ?</value>
22            </property>
23        </bean>
24 <!-- 总管理类 如果将lazy-init=‘false‘那么容器启动就会执行调度程序  -->
25        <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
26            <property name="triggers">
27                <list>
28                    <ref bean="doTime"/>
29                </list>
30            </property>
31        </bean>

  如上图,在第2行配置要调用的类,第11行配置要调用的方法,第21行配置要调用的时间,即可。

  时间的话。这里用的corn表达式。各参数如下:

字段    允许值        允许的特殊字符

秒     0-59         , - * / 
分     0-59         , - * / 
小时    0-23         , - * / 
日期    1-31         , - * ? / L W C 
月份    1-12 或者 JAN-DEC  , - * / 
星期    1-7 或者 SUN-SAT   , - * ? / L C # 
年(可选) 留空, 1970-2099   , - * /

“?”字符:表示不确定的值

“,”字符:指定数个值

“-”字符:指定一个值的范围

“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

“W”字符:指定离给定日期最近的工作日(周一到周五)

“#”字符:表示该月第几个周X。6#3表示该月第3个周五

  所以:上面例子里表示的就是:每天00点01分的时候执行一次Quartzjob类的Job方法。如果需要多个任务调度,只需要重复写上面4个bean中的第2、3个,然后将触发时间配置进第4个bean的list里即可。当然前提是你的调度都要存在一个类里~

时间: 2024-11-08 02:17:08

Spring中Quartz的配置及corn表达式的相关文章

Spring中Quartz的配置

软件152苏锐 Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写一个被调度的类: package com.kay.quartz;public class QuartzJob{ public void work()    {    System.out.println("Quartz的任务调度!!!");    }} Spring的配置文件: <?xml version="1.

SPring中quartz的配置(可以用实现邮件定时发送,任务定时执行,网站定时更新等)

http://www.cnblogs.com/kay/archive/2007/11/02/947372.html 邮件或任务多次发送或执行的问题: 1.<property name="concurrent" value="false" />可以用于防止任务多次执行 2.将quartz的配置单独出来,防止tomcat加载spring. 具体做法:http://blog.csdn.net/zhujianpengzha/article/details/814

Quartz 在 Spring 中如何动态配置时间--转

原文地址:http://www.iteye.com/topic/399980 在项目中有一个需求,需要灵活配置调度任务时间,并能自由启动或停止调度. 有关调度的实现我就第一就想到了Quartz这个开源调度组件,因为很多项目使用过,Spring结合Quartz静态配置调度任务时间,非常easy.比如:每天凌晨几点定时运行一个程序,这只要在工程中的spring配置文件中配置好spring整合quartz的几个属性就好. Spring配置文件 引用 <bean id="jobDetail&quo

Spring中Quartz定时器

Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先我们来写一个被调度的类: package com.kay.quartz; public class QuartzJob { public void work()      {      System.out.println("Quartz的任务调度!!!");      } } Spring的配置文件: <?xml version="

spring中quartz的使用。【转http://www.cnblogs.com/kay/archive/2007/11/02/947372.html】

Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写一个被调度的类: package com.kay.quartz;public class QuartzJob{ public void work()    {    System.out.println("Quartz的任务调度!!!");    }} Spring的配置文件: <?xml version="1.0" 

java中JOB介绍与Spring中JOB的配置

2013-09-05 15:30:54| 分类: 默认分类 |举报|字号 订阅1定时器的作用 在实际的开发中,如果项目中需要定时执行或者需要重复执行一定的工作,定时器显现的尤为重要. 当然如果我们不了解定时器就会用线程去实现,例如: package org.lzstone.action public class FinanceAction extends Thread{ private Date date; public void run{ try{ while(true){ Thread.sl

Spring基础 Quartz的配置

Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先我们来写一个被调度的类: package com.kay.quartz; public class QuartzJob { public void work() { System.out.println("Quartz的任务调度!!!"); } } Spring的配置文件: <?xml version="1.0" encod

Spring中Quartz调度器的使用

一.Quartz的特点 * 按作业类的继承方式来分,主要有以下两种: 1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 2.作业类不继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 注:个人比较推崇第二种,因为这种方式下的作业类仍然是POJO. * 按任务调度的触发时机来分,主要有以下两种: 1.每隔指定时间则触发一次,对应的调度器为org.springf

关于spring中&lt;context:annotation-config/&gt;配置

在spring的配置文件中,如果我们一个一个地配置bean会非常麻烦,因此我们可以使用注解的方式 使用@Autowired注解,必须事先在Spring容器中声明AutowiredAnnotationBeanPostProcessor的Bean: 使用 @Required注解,就必须声明RequiredAnnotationBeanPostProcessor的Bean 类似地,使用@Resource.@PostConstruct.@PreDestroy等注解就必须声明 CommonAnnotatio