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次。

  • 相关阅读:
    metasploit(MSF)对windows的ms17-010漏洞利用
    kali 解决Metasploit拿到shell后显示中文乱码问题
    kali安装搜狗输入法
    Struts2 为Action 的属性注入值&& 处理请求后缀
    Action 名称搜索顺序&Action配置中的各项默认值
    Struts.xml配置中的包介绍
    AJAX 使用XMLHttpRequest对象发送和接受数据
    Unicode 汉字编码
    HTTP 协议 请求头详解
    java Dom 解析 XML 详细解答
  • 原文地址:https://www.cnblogs.com/HigginCui/p/6625829.html
Copyright © 2011-2022 走看看