我用的spring是2.0.2 quartz是1.6
先写好业务类:
/**
* 作者: MissWolf
* 编写时间: 2007-3-18
* 所属工程: springDemo1
* 代码审查: xxx
* 当前版本: v1.0
* 最后修改: xxx
* 最后修改时间: 2007-3-18
**/
package edu.jsu.misswolf.domain;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class TestTimer implements Job{
public TestTimer(){
}
public void execute(JobExecutionContext context)throws JobExecutionException {
try{
SayHello();
} catch (Exception e) {
e.printStackTrace();
}
}
public void SayHello(){
Date curDate=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("现在时间:"+sdf.format(curDate)+"定时器输出");
}
}
再配置spring
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="testTimer" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="edu.jsu.misswolf.domain.TestTimer" />
</bean>
<!-- 触发器-->
<bean id="timerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="testTimer" />
</property>
<property name="cronExpression" value="0 * * * * ?" /><!-- 为了更快的看到效果,我设为在每分钟的0秒时执行一次-->
</bean>
<!-- 触发器调度控制器 -->
<bean id="TimerTaskFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="timerTrigger" />
</list>
</property>
</bean>
</beans>