大家好!
首先,我来说明这个问题,我在Spring里配置了Quartz的JobDetail,Trigger和Scheduler,这个JobDetail的Trigger是让这个Job每隔1分钟运行一次。但这个项目要求,在这个Job执行过程中,有一个条件参数(从数据库中取得),我这里就简单记为Status,如果这个Status为true的话,那么这个Job就需要在执行完成之后立即执行,而不是再等1分钟才运行,如果这个Status为false的话,就还按原来在XML配置里的执行。
我刚开始的时候,是想通过这个Job的Listener来实现这个功能,当Job在执行完成之后,把Stauts放到JobExecutionContext里,Listener监听到Job运行完成,然后从JobExecutionContext取得JobDetail,Trigger和Scheduler,重新对Trigger进行设置,然后执行Scheduler.scheduleJob(jobDetail, trigger),结果是可以实现目标的,但在XML里配置的trigger就没有作用了?
另外,通过Scheduler.rescheduleJob的方法也不行。
我不知道有没有其他的成功解决方案?请有知道的朋友,谢谢了。
分享到:
相关推荐
Spring Quartz如何动态配置时间
Spring Quartz动态配置时间.rar
spring quartz 非配置动态定时
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
关于spring中quartz的配置
spring mvc quartz 动态设置时间,可以实现任务调度的暂停和重启,在页面实现一个功能,可以动态设置调度的表达式,可以开启暂停任务调度
spring-cloud-alibaba+dubbo+nacos+quartz以yml配置方式实现
Quartz定时器。Spring中Quartz的配置
NULL 博文链接:https://duanfei.iteye.com/blog/1732839
各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定 用户解锁任务。对于一个典型的MIS系统来说,在每月1号凌晨统计上...
Spring中的Quartz配置-Spring-定时器-java定时器.doc
spring-quartz的标准配置文件
可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个...
Spring自带了多线程设置:quartz,在quartz的设置中,时间字段CronExpression的设置比较纠结,一个Cron表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,文档详细讲解了这个...
添加公众号:猿有一技,回复 :Spring ,获取SpringBoot2.x quartz yml完整配置
Quartz2.2.1基于Spring注解方式配置QuartzL,具体过程的效果看博文 http://blog.csdn.net/evankaka/article/details/45400781
java spring quartz 实现的动态定时任务,可以动态添加高度任务
springquartz动态任务添加删除等功能
java + quartz实现定时任务,实现集群配置,在集群环境下多节点运行定时Quartz定任务,就会存在重复处理任务的现象,为解决这一问题,下面我将介绍使用 Quartz 的 TASK ( 12 张表)实例化到数据库,基于数据库自动...
java中spring quartz定时任务demo,里面包含项目所需的quartz.jar, spring.jar包,配置文件等,可直接运行使用