<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<beans>
<!-- 要调度的对象 -->
<bean id="testQuarz" class="springtimer.TestQuarz" />
<!--定义定时执行testQuarz 这个bean中的sayHello()方法 -->
<bean id="quarzTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="testQuarz" />
</property>
<property name="targetMethod">
<value>QuarzXg</value>
</property>
</bean>
<!--定义定时执行testQuarz 这个bean中的sayHello()方法 -->
<bean id="quarzTask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="testQuarz" />
</property>
<property name="targetMethod">
<value>xg</value>
</property>
</bean>
<!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是helloworldTask,即触发器去触发哪个bean..并且我们还定义了触发的时间:每天5:17pm -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quarzTask" />
</property>
<property name="cronExpression">
<!-- 关键在配置此表达式 -->
<value>0/1 0/1 * * * ?</value>
</property>
</bean>
<bean id="cronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quarzTask1" />
</property>
<property name="cronExpression">
<!-- 关键在配置此表达式 -->
<value>5/1 0/1 * * * ?</value>
</property>
</bean>
<!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。 -->
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="cronTrigger" />
<ref local="cronTrigger1" />
</list>
</property>
</bean>
</beans>
package springtimer;
import java.util.Date;
public class TestQuarz {
private static java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
private int i;
public void QuarzXg() {
i++;
System.out.println(i + "、Quarz任务调度!!!! " + format.format(new Date()));
}
public void xg(){
System.out.println("---------------------" +format.format(new Date()));
}
}
package springtimer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainTest {
public static void main(String [] args){
System.out.println("*****开始******");
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
System.out.println("*****完毕******");
}
}