1. 配置applicationContext.xml
| <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
<!--要执行的任务 --> <beanid="quartzJob"class="com.quartz.Job"></bean>
<!--定义调用的类和调用方法 --> <beanid="jobtask"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!--调用的类 --> <propertyname="targetObject"> <refbean="quartzJob"/> </property> <!--调用类的方法 --> <propertyname="targetMethod"> <value>executeJob</value> </property> </bean>
<!--定义触发时间 --> <beanid="doTime"class="org.springframework.scheduling.quartz.CronTriggerBean"> <propertyname="jobDetail"> <refbean="jobtask"/> </property> <!-- cron表达式,2秒调度一次 --> <propertyname="cronExpression"> <value>0/2 * * * * ?</value> </property> </bean>
<!--调度触发类 --> <beanid="startQuertz"lazy-init="false"autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <propertyname="triggers"> <list> <refbean="doTime"/> </list> </property> </bean> </beans> |
2. 编写任务类
| package com.quartz;
import java.util.Date;
/** * 要执行的任务. <br> * @author ices <br> * @version 1.0.0 2012-11-29下午4:00:35 <br> * @see * @since JDK 1.6.0 */ publicclass Job {
/** * 任务方法. <br> * @author ices 2012-11-29下午4:24:52 <br> */ publicvoid executeJob() { System.out.println(new Date().toString() + ", 调度任务执行……"); } } |
3. 测试类
| package com.quartz;
import org.springframework.context.ApplicationContext; importorg.springframework.context.support.ClassPathXmlApplicationContext;
/** * 测试. <br> * @author ices <br> * @version 1.0.0 2012-11-29下午4:41:24 <br> * @see * @since JDK 1.6.0 */ publicclass Test {
/** * MAIN. <br> * @author ices 2012-11-29下午4:41:24 <br> * @param args args */ publicstaticvoid main(final String[] args) { final ApplicationContextcontext = newClassPathXmlApplicationContext( new String[] {"com/quartz/applicationContext.xml"}); System.out.println("开始执行调度"); } } |
4. 输出
| 开始执行调度 Mon Dec 03 17:34:56 CST 2012, 调度任务执行…… Mon Dec 03 17:34:58 CST 2012, 调度任务执行…… Mon Dec 03 17:35:00 CST 2012, 调度任务执行…… Mon Dec 03 17:35:02 CST 2012, 调度任务执行…… Mon Dec 03 17:35:04 CST 2012, 调度任务执行…… Mon Dec 03 17:35:06 CST 2012, 调度任务执行…… Mon Dec 03 17:35:08 CST 2012, 调度任务执行……
|
本文介绍了如何使用Spring Boot框架结合Quartz库实现定时任务的配置与执行,包括配置applicationContext.xml文件、编写任务类及测试类,并通过Cron表达式实现每2秒调度一次任务。
1591

被折叠的 条评论
为什么被折叠?



