Spring Quartz2 动态任务的实例详解

此处使用的是Quartz中SimpleScheduleBuilder类,非CronScheduleBuilder,CronScheduleBuilder是Cron表达式的。具体请自行百度。
实现代码:
/**
* 新增任务
* @param scheduleJob
* @throws Exception
*/
@Override
@SuppressWarnings("unchecked")
public void addJobSimple(ScheduleJob scheduleJob) throws Exception{
TriggerKey triggerKey = TriggerKey.triggerKey(scheduleJob.getJobName(), scheduleJob.getJobGroup());
//任务触发
Trigger trigger = scheduler.getTrigger(triggerKey);
if (null == trigger) {
JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) Class.forName(scheduleJob.getClazz()))
.withIdentity(scheduleJob.getJobName(), scheduleJob.getJobGroup()).build();
jobDetail.getJobDataMap().put("scheduleJob", scheduleJob);
SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule();
if("秒".equals(scheduleJob.getTimeType()) ||
"second".equalsIgnoreCase(scheduleJob.getTimeType())){
simpleScheduleBuilder.withIntervalInSeconds(scheduleJob.getTimeValue()).repeatForever();
}else if("分".equals(scheduleJob.getTimeType()) || "分钟".equals(scheduleJob.getTimeType()) ||
"minute".equalsIgnoreCase(scheduleJob.getTimeType())){
simpleScheduleBuilder.withIntervalInMinutes(scheduleJob.getTimeValue()).repeatForever();
}else if("时".equals(scheduleJob.getTimeType()) || "小时".equals(scheduleJob.getTimeType()) ||
"hour".equalsIgnoreCase(scheduleJob.getTimeType())){
simpleScheduleBuilder.withIntervalInHours(scheduleJob.getTimeValue()).repeatForever();
}else if("天".equals(scheduleJob.getTimeType()) ||
"date".equalsIgnoreCase(scheduleJob.getTimeType())){
simpleScheduleBuilder.withIntervalInHours(scheduleJob.getTimeValue()).repeatForever();
}
ScheduleBuilder<SimpleTrigger> schedBuilder = simpleScheduleBuilder.withMisfireHandlingInstructionNextWithRemainingCount();
trigger =TriggerBuilder.newTrigger().withIdentity(scheduleJob.getJobName(), scheduleJob.getJobGroup())
.withSchedule(schedBuilder).build();
trigger = TriggerBuilder.newTrigger().withIdentity(scheduleJob.getJobName(), scheduleJob.getJobGroup()).withSchedule(schedBuilder).build();
scheduler.scheduleJob(jobDetail, trigger);
log.info(CC.LOG_PREFIX + "新增简单任务:"+JasonUtils.Object2String(scheduleJob));
}else {
this.updateJobCron(scheduleJob);
}
}
需要注意是的,当定时任务只执行一次时,就要仔细看代码,如上面的简单定时任务,刚开始是我这样的:
simpleScheduleBuilder.withIntervalInSeconds(scheduleJob.getTimeValue());
结果只执行一次,而我需要的是不断循环执行,最后改成:
simpleScheduleBuilder.withIntervalInSeconds(scheduleJob.getTimeValue()).repeatForever();
可以看出,后面多了个:repeatForever(),表示永远重复。
如果是希望执行多少次后不执行,就使用:.withRepeatCount(triggerRepeatCount),如下:
simpleScheduleBuilder.withIntervalInHours(scheduleJob.getTimeValue()).withRepeatCount(triggerRepeatCount);
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Spring
# Quartz2
# 动态任务
# 动态任务的实例详解
# 动态任务的使用实例
# Spring quartz Job依赖注入使用详解
# spring和quartz整合
# 并简单调用(实例讲解)
# springboot整合quartz实现定时任务示例
# SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法
# 详解Spring整合Quartz实现动态定时任务
# Spring整合Quartz实现动态定时器的示例代码
# 在Java的Spring框架中配置Quartz的教程
# 的是
# 如有
# 希望能
# 而我
# 刚开始
# 可以看出
# 谢谢大家
# 仔细看
# 需要注意
# 疑问请
# 请自行
# triggerKey
相关文章:
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
常州企业建站如何选择最佳模板?
网站企业制作流程,用什么语言做企业网站比较好?
建站之星安装提示数据库无法连接如何解决?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
建站主机与服务器功能差异如何区分?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
无锡营销型网站制作公司,无锡网选车牌流程?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
黑客入侵网站服务器的常见手法有哪些?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
C++用Dijkstra(迪杰斯特拉)算法求最短路径
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何在Golang中使用replace替换模块_指定本地或远程路径
建站VPS配置与SEO优化指南:关键词排名提升策略
如何挑选高效建站主机与优质域名?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
重庆市网站制作公司,重庆招聘网站哪个好?
C#如何在一个XML文件中查找并替换文本内容
高性价比服务器租赁——企业级配置与24小时运维服务
如何通过VPS搭建网站快速盈利?
建站之星伪静态规则如何正确配置?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
建站之星如何助力企业快速打造五合一网站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
建站与域名管理如何高效结合?
公众号网站制作网页,微信公众号怎么制作?
中山网站制作网页,中山新生登记系统登记流程?
建站之星24小时客服电话如何获取?
制作宣传网站的软件,小红书可以宣传网站吗?
太原网站制作公司有哪些,网约车营运证查询官网?
建站之星CMS五站合一模板配置与SEO优化指南
详解jQuery中基本的动画方法
如何快速查询网址的建站时间与历史轨迹?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何在阿里云部署织梦网站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站主机选虚拟主机还是云服务器更好?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
佛山网站制作系统,佛山企业变更地址网上办理步骤?
建站之星安装后如何自定义网站颜色与字体?
深入理解Android中的xmlns:tools属性
*请认真填写需求信息,我们会在24小时内与您取得联系。