zoukankan      html  css  js  c++  java
  • 02_SimpleTrigger

    【SimpleTrigger的构造方法】

    SimpleTrigger(String name,String group); //指定Trigger的所属组 和 名称
    SimpleTrigger(String name, String group, Date startTime); //指定Trigger的所属组 和、名称、触发时间
    SimpleTrigger(String name, String group, Date startTime, Date endTime, int repeatCount, long repeatInterval); //指定Trigger的所属组 和、名称、触发时间、结束时间、重复次数、时间间隔
    SimpleTrigger(String name, String group, String jobName, String jobGroup, Date startTime, Date endTime, int repeatCount, long repeatInterval); //jobGroup和JobName使该Trigger和Scheduler中的某个任务关联起来

    【工程截图】

    【SimpleJob.java】

    package com.higgin.simple;
    
    import java.util.Date;
    
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    public class SimpleJob implements Job{
        public SimpleJob() {
            System.out.println("---SimpleJob构造方法---");  //测试每次调用是否会重新创建一个新的SimpleJob类
        }
        @Override
        public void execute(JobExecutionContext jobCtx) throws JobExecutionException {
            System.out.println(jobCtx.getTrigger().getName()+"----任务开始执行了----"+(new Date()));
        }
    
    }

    【SimpleTriggerRunner.java】

    package com.higgin.simple;
    
    import java.util.Date;
    
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.SchedulerFactory;
    import org.quartz.SimpleTrigger;
    import org.quartz.impl.StdSchedulerFactory;
    
    public class SimpleTriggerRunner {
        
        public static void main(String[] args) {
            try{
                //创建一个JobDetail,封装SimpleJob,同时指定SimpleJob在Scheduler中的所属组合名称,组名:jGroup1,名称:job1_1
                JobDetail jobDetail = new JobDetail("job1_1","jGroup1",SimpleJob.class); 
                
                //创建一个SimpleTrigger实例,指定该SimpleTrigger在Scheduler中的所属组及名称,组名:tGroup1,名称:trigger1_1
                SimpleTrigger simpleTrigger = new SimpleTrigger("trigger1_1","tGroup1");
                simpleTrigger.setStartTime(new Date());
                simpleTrigger.setRepeatCount(5);   //重复执行6次
                simpleTrigger.setRepeatInterval(2000);  //每次执行之间间隔2秒
                
                SchedulerFactory schedulerFactory = new StdSchedulerFactory();//通过StdSchedulerFactory获取一个scheduler实例(注意是StdSchedulerFactory!)
                Scheduler scheduler = schedulerFactory.getScheduler();  
                scheduler.scheduleJob(jobDetail, simpleTrigger);  //1.将JobDetail和Trigger注册到scheduler中 2.用Trigger对JobDetail中的任务进行调度
                scheduler.start(); //scheduler启动后,Trigger将定期触发并执行SimpleJob中的execute()方法
                
            }catch(SchedulerException e){
                e.printStackTrace();
            }
        }
    
    }

    【运行结果】

    可以看出,每次都会实例化新的SimpleJob(构造方法看出),并每隔2s执行一次,设置simpleTrigger.setRepeatCount(5); 但会执行6次。

  • 相关阅读:
    as3关于正则表达式的那些事
    Flex中使用ArrayCollection的注意事项
    flash资源优化技巧
    测试版权信息
    PHP解密Unicode及Escape加密字符串函数
    php foreach
    硅谷黑暗面:房价过高、政治斗争和岗位侵略
    菜鸟网络股权分配:阿里巴巴占51%的股份
    vue 数据导入加载样式
    CSS文字过多设置省略号
  • 原文地址:https://www.cnblogs.com/HigginCui/p/6625829.html
Copyright © 2011-2022 走看看