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(); //重复执行6次
simpleTrigger.setRepeatInterval(); //每次执行之间间隔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次。
02_SimpleTrigger的更多相关文章
随机推荐
- [USACO06DEC]牛的野餐Cow Picnic DFS
题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N ...
- JS 创建元素的三种方法
1.动态创建元素一 document.write() 例如向页面中输出一个 li 标签 <pre class="html" name="code"> ...
- Linux下指定线程的名字
为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字.这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程,对调试程序有一定帮助. prctl是个 ...
- python学习,day2:python字符串和二进制之间的互换
在python3中,byte二进制和striing字符串之间不能直接操作,需要进行编码和解码才行.下面是个例子 msg = '我爱北京天安门' print(msg) print(msg.encode( ...
- 解决分批次调用 jsonp 接口的 callback 会报错问题
当我们分批次调用同一个jsonp接口时,会有一定机率同时调用,而jsonp的callback不支持同时调用, 会报错,所以当我们在分批次调用同一jsonp接口时,最好在callback后加个变量值,总 ...
- BZOJ - 1458 / P4311 最大流应用 贪心
题意:给定n*m的图,每个士兵可以占领当前行和列,第i行至少要R[i]个士兵占领,第j列至少要C[j]个士兵占领,部分网格无法占领,求占领所用最少士兵数,若无解则输出orz 士兵的贡献情况有1(只有效 ...
- 【总结】ettercap工具之DNS劫持
在arp欺骗成功基础上开始进行dns劫持,,, 1.修改/etc/ettercap/etter.dns文件内容,如下图所示. 将所有域名解析到192.168.1.250地址上,,, 2.etterca ...
- Heap — 20181120
363. Trapping Rain Water public class Solution { /** * @param heights: a list of integers * @return: ...
- mysql GPID学习
1.为什么引入GPID? 解决主备复制的延时问题 单线程太慢, 多线程复制的问题是:最终数据可能不一致 MySQL主从延时这么长,要怎么优化? 2. 引入后有哪些缺点 不支持create table ...
- 迪米特法则(Law of Demeter)LoD
using System; using System.Collections.Generic; using System.Text; namespace LawOfDemeter { //也叫Leas ...