注:这里使用的是Quartz1.6.5版本(包:quartz-1.6.5.jar)
- package quartzPackage;
-
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- public class QuartzTest {
-
-
- public static void main(String[] args) {
-
- SimpleDateFormat DateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
- Date d = new Date();
- String returnstr = DateFormat.format(d);
-
- TestJob job = new TestJob();
- String job_name ="11";
- try {
- System.out.println(returnstr+ "【系统启动】");
- QuartzManager.addJob(job_name,job,"0/2 * * * * ?");
-
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
简单的任务管理类
-
- package quartzPackage;
-
- import java.text.ParseException;
- import org.quartz.CronTrigger;
- import org.quartz.Job;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.SchedulerFactory;
- import org.quartz.Trigger;
- import org.quartz.impl.StdSchedulerFactory;
-
- public class QuartzManager {
- private static SchedulerFactory sf = new StdSchedulerFactory();
- private static String JOB_GROUP_NAME = "group1";
- private static String TRIGGER_GROUP_NAME = "trigger1";
-
-
-
- public static void addJob(String jobName,Job job,String time)
- throws SchedulerException, ParseException{
- Scheduler sched = sf.getScheduler();
- JobDetail jobDetail = new JobDetail(jobName, JOB_GROUP_NAME, job.getClass());
-
- CronTrigger trigger =
- new CronTrigger(jobName, TRIGGER_GROUP_NAME);
- trigger.setCronExpression(time);
- sched.scheduleJob(jobDetail,trigger);
-
- if(!sched.isShutdown())
- sched.start();
- }
-
-
- public static void addJob(String jobName,String jobGroupName,
- String triggerName,String triggerGroupName,
- Job job,String time)
- throws SchedulerException, ParseException{
- Scheduler sched = sf.getScheduler();
- JobDetail jobDetail = new JobDetail(jobName, jobGroupName, job.getClass());
-
- CronTrigger trigger =
- new CronTrigger(triggerName, triggerGroupName);
- trigger.setCronExpression(time);
- sched.scheduleJob(jobDetail,trigger);
- if(!sched.isShutdown())
- sched.start();
- }
-
-
- public static void modifyJobTime(String jobName,String time)
- throws SchedulerException, ParseException{
- Scheduler sched = sf.getScheduler();
- Trigger trigger = sched.getTrigger(jobName,TRIGGER_GROUP_NAME);
- if(trigger != null){
- CronTrigger ct = (CronTrigger)trigger;
- ct.setCronExpression(time);
- sched.resumeTrigger(jobName,TRIGGER_GROUP_NAME);
- }
- }
-
-
- public static void modifyJobTime(String triggerName,String triggerGroupName,
- String time)
- throws SchedulerException, ParseException{
- Scheduler sched = sf.getScheduler();
- Trigger trigger = sched.getTrigger(triggerName,triggerGroupName);
- if(trigger != null){
- CronTrigger ct = (CronTrigger)trigger;
-
- ct.setCronExpression(time);
-
- sched.resumeTrigger(triggerName,triggerGroupName);
- }
- }
-
-
- public static void removeJob(String jobName)
- throws SchedulerException{
- Scheduler sched = sf.getScheduler();
- sched.pauseTrigger(jobName,TRIGGER_GROUP_NAME);
- sched.unscheduleJob(jobName,TRIGGER_GROUP_NAME);
- sched.deleteJob(jobName,JOB_GROUP_NAME);
- }
-
-
- public static void removeJob(String jobName,String jobGroupName,
- String triggerName,String triggerGroupName)
- throws SchedulerException{
- Scheduler sched = sf.getScheduler();
- sched.pauseTrigger(triggerName,triggerGroupName);
- sched.unscheduleJob(triggerName,triggerGroupName);
- sched.deleteJob(jobName,jobGroupName);
- }
- }
测试工作类
-
- package quartzPackage;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
-
- public class TestJob implements Job {
- SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date d = new Date();
- String returnstr = DateFormat.format(d);
-
- public void execute(JobExecutionContext arg0) throws JobExecutionException {
-
- System.out.println(returnstr+"★★★★★★★★★★★");
- }
-
- }
第三方包
通过测试。一个简单任务只需要以下几个包:commons-beanutils.jar、commons-collections.jar、commons-logging.jar、commons-digester.jar、quartz.jar即可
Quartz使用-入门使用(java定时任务实现)
原文:http://www.cnblogs.com/duanqiao123/p/6881784.html