使用maven构建项目
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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cn.zto.quartz</groupId>
- <artifactId>myquartz</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>myquartz</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>4.0.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.quartz-scheduler</groupId>
- <artifactId>quartz</artifactId>
- <version>2.2.1</version>
- </dependency>
- <dependency>
- <groupId>org.quartz-scheduler</groupId>
- <artifactId>quartz-jobs</artifactId>
- <version>2.2.1</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context-support</artifactId>
- <version>4.0.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-tx</artifactId>
- <version>4.0.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>4.0.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>annotations-api</artifactId>
- <version>6.0.41</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.30</version>
- </dependency>
- </dependencies>
- </project>
HelloJob代码:
- package cn.zto.job;
- import java.util.Date;
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class HelloJob
- implements Job
- {
- public void execute(JobExecutionContext context)
- throws JobExecutionException
- {
- System.out.println("Hello World! - " + new Date());
- }
- }
启动Job:
- package cn.zto.app;
- import java.util.Date;
- import org.quartz.DateBuilder;
- import org.quartz.JobBuilder;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerFactory;
- import org.quartz.Trigger;
- import org.quartz.TriggerBuilder;
- import org.quartz.impl.StdSchedulerFactory;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import cn.zto.job.HelloJob;
- public class SimpleExample
- {
- public void run()
- throws Exception
- {
- System.out.println("------- 初始化 ----------------------");
- //通过工厂获取Scheduler
- Scheduler sched = StdSchedulerFactory.getDefaultScheduler();
- System.out.println("------- 初始化完成 -----------");
- Date runTime = DateBuilder.evenMinuteDate(new Date());
- System.out.println("------- 将Job加入Scheduler中 -------------------");
- //构建一个作业实例
- JobDetail job = JobBuilder.newJob(HelloJob.class).withIdentity("job1", "group1").build();
- //TriggerBuilder实例化一个触发器
- Trigger trigger = TriggerBuilder.newTrigger()//创建一个新的TriggerBuilder用来规范一个触发器
- .withIdentity("trigger1", "group1")//给触发器一个名字和组名
- .startAt(runTime)//设置触发开始的时间
- .build();//产生触发器
- sched.scheduleJob(job, trigger);//向Scheduler添加一个job和trigger
- System.out.println(job.getKey() + " 运行在: " + runTime);
- sched.start();
- System.out.println("------- Scheduler调用结束 -----------------");
- System.out.println("------- 等待5S... -------------");
- try
- {
- Thread.sleep(5000L);
- }
- catch (Exception e)
- {
- }
- System.out.println("------- Scheduler关闭 -----------------");
- sched.shutdown(true);
- System.out.println("------- Scheduler完成 -----------------");
- }
- public static void main(String[] args) throws Exception
- {
- SimpleExample example = new SimpleExample();
- example.run();
- }
- }