spring + Quartz 入门demo

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这个接口,只需要在配置文件中指定方法名称即可。

猜你喜欢

转载自hbiao68.iteye.com/blog/1953689