调度程序的standby()和pauseAll()之间有什么区别?

Gna*_*nam 17 java scheduler quartz-scheduler standby

我正在使用Quartz Scheduler v.1.8.0.

scheduler.standby()scheduler.pauseAll()之间有什么区别?

standby() - 暂时停止调度程序触发触发器.

pauseAll() - 暂停所有触发器 - 类似于在每个组上调用pauseTriggerGroup(group),但是,在使用此方法之后,必须调用resumeAll()以清除调度程序的"记住"状态,即所有新触发器将暂停,因为它们是添加.

基于我从API文档中理解的内容,我无法轻松/清楚地区分/区分每个文档.我看到它们都服务于相同的目的 - 暂时暂停/暂停调度程序中的所有触发器,然后是start()(用于待机)或resumeAll()(用于pauseAll)以清除调度程序的状态.还有其他区别吗?

希望专家可以帮助我理解任何微妙的差异.

小智 18

不同之处在于触发失火指令应用行为.

在待机()之后调用start()时,将忽略在待机状态下出现的任何失火.

当您在pauseAll()之后调用resumeAll()时,将会应用在调度程序暂停时出现的所有失火.

  • 这是不正确的.如果你调用standby()然后start(),只有在执行start()期间才会忽略触发器错误触发,并且在调用standby()和start()之间不会有整个持续时间. (2认同)

YoK*_*YoK 7

有当调度后恢复差异备份pauseAll.

我在API文档的以下描述中做了大胆的改编.

待机:

void standby()throws SchedulerException暂时停止Scheduler触发触发器.

当调用start()(使调度程序退出待机模式)时,在执行start()方法期间不会应用触发失火指令 - 之后会立即检测到任何失火(通过JobStore的正常过程) .

调度程序不会被销毁,并且可以随时重新启动.

暂停所有:

void pauseAll()throws SchedulerException暂停所有触发器 - 类似于在每个组上调用pauseTriggerGroup(group),但是,在使用此方法之后,必须调用resumeAll()以清除调度程序的"记住"状态,即所有新触发器将暂停为他们被添加.

当调用resumeAll()(取消暂停)时,将应用触发失火指令.