Dvo*_*ora 3 grails quartz-scheduler
我以这种方式动态调度作业:
JobClass.schedule(Long interval, Integer repeatCount, Map params )
稍后我想停止运行,然后根据用户操作再次重启它们.
我怎么能阻止这个触发器?
实际上阻止它的唯一方法是JobClass.removeJob(),但我不能;以后能够再次启动它,所以我需要别的东西.
谢谢!
您可以使用具有方法unscheduleJob的Scheduler类,它只删除与作业绑定的所有触发器.对于调度程序类对象:
注入服务
def jobManagerService
Run Code Online (Sandbox Code Playgroud)
使用代码取消安排工作
jobManagerService.getQuartzScheduler().unscheduleJob(TriggerKey triggerkey)
Run Code Online (Sandbox Code Playgroud)
启动作业调度:只需为同一作业创建一个新触发器并安排它.
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity(triggerName, triggerGroupName)
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds())
.forJob(JobKey.jobKey(jobName, groupName))
.build()
jobManagerService.getQuartzScheduler().scheduleJob(trigger);
Run Code Online (Sandbox Code Playgroud)