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

  • 相关阅读:
    x01.Weiqi.6: 立体棋子
    x01.Game.MapEditor: 地图编辑器
    SQL Server插入中文出现乱码??的解决办法
    Cachecontrol使用:header('Cachecontrol:private')
    验证身份证号码Javascript代码
    .Net GDI+缩放绘图
    Access(JETSQL)问题集锦
    Android开发中Google谷歌地图坐标系怎么转Baidu百度地图坐标系
    21、桥接模式(Bridge模式)详解
    22、装饰模式(装饰设计模式)详解
  • 原文地址:https://www.cnblogs.com/hongdada/p/6548675.html
Copyright © 2011-2022 走看看