spring quartz定时器的简单配置和使用

congcongsuiyue 2011-03-23

第一步:在MyEclipse下建立一个项目Spring_Clock,导入相关jar包spring.jarcommons-collections.jar

commons-lang.jarcommons-logging.jarquartz.jar

第二步:新建立一个业务bean-->cn.yulon.service.MessageService

packagecn.yulon.service;

publicclassMessageService{

inti;

publicvoidprintLog(){

i++;

System.out.println("thisismytimer:"+i);

}

}

第三步:在Spring配置文件time-bean.xml,如下

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<!--第一步:配置好要定时调用的业务类-->

<beanid="msgService"class="cn.yulon.service.MessageService"/>

<!--第二步:定义好具体要使用类的哪一个业务方法-->

<beanid="workDetail"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<!--目标bean-->

<propertyname="targetObject"ref="msgService"/>

<!--要执行目标bean的哪一个业务方法-->

<propertyname="targetMethod"value="printLog"/>

<!--是否并发-->

<propertyname="concurrent"value="false"/>

</bean>

<!--第三步:定义好调用模式:如每隔1秒钟调用一次或每天的哪个时间调用一次等-->

<beanid="msgTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean">

<propertyname="jobDetail"ref="workDetail"/>

<propertyname="cronExpression"value="0/1****?"/>

</bean>

<!--第四步把定义好的任务放到调度(Scheduler)工厂里面,注意这里的refbean-->

<beanclass="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<propertyname="triggers">

<list>

<refbean="msgTrigger"/>

</list>

</property>

</bean>

</beans>

在xml里配置值得关注的是<propertyname="cronExpression"value="0/1****?"/>表示每隔一秒钟执行一次,例子如下:

0010,14,16**?每天上午10点,下午2点和下午4点

00,15,30,45*1-10*?每月前10天每隔15分钟

300011?2012在2012年1月1日午夜过30秒时

008-5?*MON-FRI每个工作日的工作时间

-区间

*通配符

?你不想设置那个字段

第四步:新建测试类SpringTest

Java代码

1.publicclassSpringTest{

2.

3.publicstaticvoidmain(String[]args){

4.

5.ApplicationContextact=newClassPathXmlApplicationContext("time-bean.xml");

6.}

publicclassSpringTest{

publicstaticvoidmain(String[]args){

ApplicationContextact=newClassPathXmlApplicationContext("time-bean.xml");

}

运行结果如下:

Xml代码

1.thisismytimer:1

2.thisismytimer:2

3.thisismytimer:3

4.thisismytimer:4

5.thisismytimer:5

相关推荐