1、在spring的xml配置文件中添加如下内容
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 定义要调用的任务的实现类 --> <bean id="testQuartz" class="adtec.util.quartz.QuartzDemo"> </bean> <!--调用实现类里面的某个方法 --> <bean id="testTellTime" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="testQuartz" /> </property> <property name="targetMethod"> <value>aa</value> </property> </bean> <!--定义调用任务的时间 --> <bean id="testSayTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="testTellTime" /> </property> <property name="cronExpression"> <value>0 37 12 * * ?</value> </property> </bean> <!--管理触发器 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="testSayTrigger" /> </list> </property> </bean> </beans>
备注:在每天的12点37分就触发aa()方法
2、添加处理类
package adtec.util.quartz; import java.util.Date; import org.apache.log4j.Logger; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class QuartzDemo implements Job{ Logger log = Logger.getLogger(QuartzDemo.class); @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { log.info(("开始执行报表的业务逻辑了----现在的时间是--"+new Date())); } public void aa() throws JobExecutionException { log.info(("开始执行报表的业务逻辑了----现在的时间是--"+new Date())); System.out.println("sssssssssssssssssssssssssssssssssssss"); } }
备注:使用spring方式添加定时器类,不需要继承job这个接口,只需要在配置文件中指定方法名称即可。