Quartz两种不同类型的Trigger实现
2017-09-07 20:38
183 查看
定时任务的触发有好几种模式,目前比较常用的是cronTrigger表达式和SimpleTrigger,下面是这两种实现方式的示例:
public class QuartzCronExample {
public static void main(String[] args) throws Exception {
//创建scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//启动scheduler
scheduler.start();
Class jobClass = Class.forName("com.alibaba.test.quartzdemo.HandleJobMsg");
//创建jobDetail实例
JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity("jobName1", "jobGroup1").build();
JobDetail jobDetail1 = JobBuilder.newJob(jobClass).withIdentity("jobName2", "jobGroup2").build();
//创建CronTrigger
CronScheduleBuilder builder = CronScheduleBuilder.cronSchedule("0 0/5 * * * ?");
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("jobName1", "jobGroup1")
.startNow()
.withSchedule(builder)
.build();
//创建SimpleTrigger
SimpleTrigger simpleTrigger = TriggerBuilder.newTrigger()
.withIdentity("jobName2", "jobGroup2")
.startAt(new Date())//设置一个出发起始时间
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(10)//指定一个重复间隔,以毫秒为单位
.withRepeatCount(1000))//指定重复的次数
.build();
//执行调度
scheduler.scheduleJob(jobDetail, trigger);
scheduler.scheduleJob(jobDetail1, simpleTrigger);
Thread.sleep(10000L);
//停止scheduler
scheduler.shutdown();
}
}
public class QuartzCronExample {
public static void main(String[] args) throws Exception {
//创建scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//启动scheduler
scheduler.start();
Class jobClass = Class.forName("com.alibaba.test.quartzdemo.HandleJobMsg");
//创建jobDetail实例
JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity("jobName1", "jobGroup1").build();
JobDetail jobDetail1 = JobBuilder.newJob(jobClass).withIdentity("jobName2", "jobGroup2").build();
//创建CronTrigger
CronScheduleBuilder builder = CronScheduleBuilder.cronSchedule("0 0/5 * * * ?");
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("jobName1", "jobGroup1")
.startNow()
.withSchedule(builder)
.build();
//创建SimpleTrigger
SimpleTrigger simpleTrigger = TriggerBuilder.newTrigger()
.withIdentity("jobName2", "jobGroup2")
.startAt(new Date())//设置一个出发起始时间
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(10)//指定一个重复间隔,以毫秒为单位
.withRepeatCount(1000))//指定重复的次数
.build();
//执行调度
scheduler.scheduleJob(jobDetail, trigger);
scheduler.scheduleJob(jobDetail1, simpleTrigger);
Thread.sleep(10000L);
//停止scheduler
scheduler.shutdown();
}
}
相关文章推荐
- 笔记:两种不同类型的简单Stack实现(Java)
- 实现axis2两种不同方式的客户端
- c++ 中sort的用法 实例说明 sort是用来排序 实现不同类型的数据排序
- 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
- spring boot 中实现兼容不同的请求类型的方法。
- 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
- 使用类的重载实现不同数据类型之间的运算
- SpringBoot的定时任务两种(Spring Schedule 与 Quartz 整合 )实现
- AIDL实现不同应用之间跨进程通讯及传递与返回各种数据类型和远程接口回调
- 命令模式(Command)的两种不同实现
- 页面不同类型的播放器实现
- Java中两种区别不同类型Exception的方法
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- 交换函数的两种不同的实现方式------地址传递和引用参数
- 泛型实现不同类型的数据生成XML文件
- 利用Forms实现两种不同验证系统
- 对不同类型assgin,retain,和copy内部实现的方法
- Spring中使用Quartz两种实现方式
- 检验上传图片大小、尺寸、类型的两种实现方案
- ligerUI实现grid同一列根据不同的值编辑时呈现不同类型的编辑器