zoukankan      html  css  js  c++  java
  • Java Quartz用法

    code:

    这里的MyJob必须是public,这里Job实例化的时候要用到反射,必须是public的,不能与调度操作放同一个.java文件中。

    package com.qhong;
    
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    /**
     * Created by Administrator on 2017/3/14 0014.
     */
    public class MyJob implements Job {
        @Override
        //把要执行的操作,写在execute方法中
        public void execute(JobExecutionContext arg0) throws JobExecutionException {
            DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
            System.out.println("测试Quartz"+ df.format(Calendar.getInstance().getTime()));
        }
    }

    Main:

    package com.qhong;
    
    
    import org.quartz.*;
    import org.quartz.impl.StdSchedulerFactory;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.*;
    import java.util.Calendar;
    
    public class Main {
        public static void main(String[] args) {
    
            DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
            System.out.println("开始时间:"+ df.format(Calendar.getInstance().getTime()));
    
            //通过schedulerFactory获取一个调度器
            SchedulerFactory schedulerfactory = new StdSchedulerFactory();
            Scheduler scheduler = null;
            try {
    //      通过schedulerFactory获取一个调度器
                scheduler = schedulerfactory.getScheduler();
    
    //       创建jobDetail实例,绑定Job实现类
    //       指明job的名称,所在组的名称,以及绑定job类
                JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build();
    
    
    //       定义调度触发规则
    
    //      使用simpleTrigger规则
    //        Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
    //                        .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
    //                        .startNow().build();
    //      使用cornTrigger规则  每天10点42分
                Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
                        .withSchedule(CronScheduleBuilder.cronSchedule("0/15 * * * * ? *"))
                        .startNow().build();
    
    //       把作业和触发器注册到任务调度中
                scheduler.scheduleJob(job, trigger);
    
    //       启动调度
                scheduler.start();
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    Result:

    开始时间:2017-03-14 15:12:53:516
    测试Quartz2017-03-14 15:13:00:005
    测试Quartz2017-03-14 15:13:15:001
    测试Quartz2017-03-14 15:13:30:002
    测试Quartz2017-03-14 15:13:45:049
    测试Quartz2017-03-14 15:14:00:008
    测试Quartz2017-03-14 15:14:15:001
    测试Quartz2017-03-14 15:14:30:008
    测试Quartz2017-03-14 15:14:45:005
    测试Quartz2017-03-14 15:15:00:002
    测试Quartz2017-03-14 15:15:15:000

    http://www.cnblogs.com/jiaoyiping/archive/2013/05/20/3088092.html

    http://blog.csdn.net/yuebinghaoyuan/article/details/9045471

    http://www.cnblogs.com/yelongsan/p/6373778.html

  • 相关阅读:
    矩阵快速幂模板
    POJ 3761 Bubble Sort 快速幂取模+组合数学
    MySQL批量修改表前缀
    js生成条形码插件
    如何将本地代码通过git上传到码云
    jQuery常用方法
    MySQL按日、周、月统计数据
    PHP文件下载
    python报错ModelNotFoundError
    thinkphp生成的验证码提示因存在错误无法显示
  • 原文地址:https://www.cnblogs.com/hongdada/p/6548675.html
Copyright © 2011-2022 走看看