一、配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置Job的bean -->
<bean id="myJob" class="com.dadi.MyJob" />
<!-- 配置jobDetail -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 用到的Job实例 -->
<!--targetObject: 目标对象,即需要定时执行的POJO -->
<property name="targetObject">
<ref bean="myJob" />
</property>
<!-- Job实例中的方法 -->
<!-- 目标方法,即需要定时执行的POJO方法 -->
<property name="targetMethod">
<value>run</value>
</property>
</bean>
<!-- 配置触发器Trigger -->
<bean id="myTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="name" value="work_default_name" />
<property name="group" value="work_default" />
<!--jobDetail: 任务详情,即所需要调度的任务 -->
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<!--cronExpression: 调用规则,即什么时候调用。 -->
<property name="cronExpression">
<!-- 每5秒执行一次 -->
<value>0/5 * * * * ?</value>
</property>
</bean>
<!-- 配置scheduler工厂 -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!--triggers: 触发器,调用哪些任务 -->
<property name="triggers">
<list>
<ref bean="myTrigger" />
</list>
</property>
</bean>
</beans>
|
二、创建要执行的对象(类)
/**
* @author zhang.cheng
*
* 2017年3月27日
*/
public class MyJob {
public void run() {
System.out.println(
"Hello Spring with Quartz " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date()));
}
}
|
三、测试
/**
* @author zhang.cheng
*
* 2017年3月27日
*/
public class TestQuartz {
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("springmvc-console.xml");
}
}
|