最近想研究下JAVA中的定时任务,看到 spring 也是支持这个的,所以学习了下。
第一步,生成基本目录
mvn archetype:generate (这里选择15 生成一些基本的目录)
第二步,编辑pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yajun</groupId> <artifactId>springScheduling</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>springScheduling</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.0</version> <scope>complie</scope> </dependency> <dependency> <groupId>opensymphony</groupId> <artifactId>quartz</artifactId> <version>1.6.1</version> <scope>complie</scope> </dependency> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> <scope>complie</scope> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> <scope>complie</scope> </dependency> </dependencies> </project>
第三步,mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
导入eclipse。
第四步,建立类
package com.yajun.quartz;
import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import com.yajun.quartz.bussines.DumbJob;
/**
* 一个简单的定时任务
*
* @author yajun
*
*/
public class QuartzDemo1 {
public static void main(String[] args) throws SchedulerException {
// 获取调度
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
// 每分钟执行的触发器
Trigger trigger = TriggerUtils.makeMinutelyTrigger();
// 从当前时间开始
trigger.setStartTime(new Date());
// 触发器名称
trigger.setName("myTrigger");
// 构建具体执行的任务
JobDetail jobDetail = new JobDetail("myJob", null, DumbJob.class);
// 触发器进入调度
sched.scheduleJob(jobDetail, trigger);
}
}
第五步,建立类
package com.yajun.quartz.bussines;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class DumbJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("保护大自然");
}
}
第六步,运行QuartzDemo1类进行测试
一个灰常简单的任务调度类就这么完成了。明天进行第二课学习把。
今天比较累了。呵呵。