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
相关文章:
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何获取开源自助建站系统免费下载链接?
建站之星在线客服如何快速接入解答?
建站之家VIP精选网站模板与SEO优化教程整合指南
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何通过服务器快速搭建网站?完整步骤解析
常州自助建站费用包含哪些项目?
长沙做网站要多少钱,长沙国安网络怎么样?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
山东云建站价格为何差异显著?
招商网站制作流程,网站招商广告语?
建站之星后台管理系统如何操作?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何通过cPanel快速搭建网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
建站主机是否属于云主机类型?
,在苏州找工作,上哪个网站比较好?
制作公司内部网站有哪些,内网如何建网站?
建站之星代理如何获取技术支持?
建站10G流量真的够用吗?如何应对访问高峰?
实例解析Array和String方法
SQL查询语句优化的实用方法总结
如何快速搭建支持数据库操作的智能建站平台?
西安大型网站制作公司,西安招聘网站最好的是哪个?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
Android自定义listview布局实现上拉加载下拉刷新功能
兔展官网 在线制作,怎样制作微信请帖?
css网站制作参考文献有哪些,易聊怎么注册?
制作宣传网站的软件,小红书可以宣传网站吗?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何在Windows 2008云服务器安全搭建网站?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
如何在建站之星网店版论坛获取技术支持?
香港服务器选型指南:免备案配置与高效建站方案解析
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何通过二级域名建站提升品牌影响力?
如何制作算命网站,怎么注册算命网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
网站制作网站,深圳做网站哪家比较好?
建站为何优先选择香港服务器?
如何快速生成可下载的建站源码工具?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
*请认真填写需求信息,我们会在24小时内与您取得联系。