02_SimpleTrigger
2024-09-26 21:23:56
【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次。
最新文章
- bzoj1799: [Ahoi2009]self 同类分布
- C语言之EOF和feof()
- spring scope=";prototype";, scope=";session";
- try throw catch异常处理机制
- VisualStudio Form文件构成说明
- 官方的objective - c风格指南。
- 使用 Google Fonts 为网页添加美观字体
- SNMP MIB中的含read-create节点的表的实现
- 层模型--固定定位(position:fixed)
- C#中&;与&;&;的区别
- top -Hp pid 显示所有的线程
- 打开excel2007文档时显示“excel无法打开文件~$book.xltm”
- 禁用掉用户帐号,用户Lync客户端仍然可以登录!
- Android编程 获取网络连接状态 及调用网络配置界面
- JS表单对象和图片对象--JavaScript基础
- if __name__ == '__main__' 这段代码怎么理解???
- 【Code Tools】Java微基准测试工具JMH之中级篇
- window.location各属性的值
- react-fetch数据发送请求
- P3648 [APIO2014]序列分割(斜率优化dp)