zoukankan      html  css  js  c++  java
  • Quartz简单使用

    官方的Quartz会提供例子的,例子看个前三四个感觉就够用了,主要就是起Timer的作用,但是比timer稳定,而且功能更全。

    UpdateClientTimer.task(ClearJob.class, GlobalVars.CLEAR_MAP_TIMER);

    一个反射的参数和一个Quartz表达式,这个表达式功能很强大

    public static void task(Class cls, String expression) throws SchedulerException {

    SchedulerFactory schedulerFactory = new StdSchedulerFactory();
    Scheduler scheduler = schedulerFactory.getScheduler();

    // current time
    long ctime = System.currentTimeMillis();

    JobDetail jobDetail = new JobDetail("detail", "group", cls);
    // Initiate CronTrigger with its name and group name
    CronTrigger cronTrigger = new CronTrigger("cronTrigger", "group");
    try {
    // setup CronExpression
    CronExpression cexp = new CronExpression(expression);
    //CronExpression cexp = new CronExpression("10 * * * * ?");
    // Assign the CronExpression to CronTrigger
    cronTrigger.setCronExpression(cexp);
    } catch (Exception e) {
    e.printStackTrace();
    }
    // schedule a job with JobDetail and Trigger
    scheduler.scheduleJob(jobDetail, cronTrigger);

    // start the scheduler
    scheduler.start();
    }

    Quartz开始工作了 ,调度频率得看那个class是怎么写的。

    public class ClearJob implements Job {
    private static Logger log = Logger.getLogger(ClearJob.class);
    @Override
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
    log.info("start clear job ");
    java.util.Calendar c = java.util.Calendar.getInstance();
    int min = c.get(java.util.Calendar.MINUTE);
    int second = c.get(java.util.Calendar.SECOND);
    try {
    if(min % 15 == 0 &&second == 0){

    }
    if(second % 10 == 0 ){

    }

    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    }

    我设置的调度器是10秒调度一次(具体频率由expression决定)

    然后在里面有两个动作,一个是10秒触发,一个是15分钟触发。

     

     

  • 相关阅读:
    mysql索引、group by、explain、insert delayed
    mysql学习笔记
    Handler
    文件操作
    RatingBar
    ListView(二)
    文件管理函数的草稿
    SAX解析XML
    phpunit
    Service(一)
  • 原文地址:https://www.cnblogs.com/caobojia/p/5985621.html
Copyright © 2011-2022 走看看