例如,如果我将计时器设置为每天午夜到期,如果一个“失火”(例如,由于服务器关闭而不会触发回调)会发生什么?我在文档中找不到。
有没有办法让这个计时器在服务器重启后立即触发回调?
PS:我知道 Quartz,我正在评估 EJB 计时器作为替代方案。
例如,如果我将计时器设置为每天午夜到期,如果一个“失火”(例如,由于服务器关闭而不会触发回调)会发生什么?我在文档中找不到。
有没有办法让这个计时器在服务器重启后立即触发回调?
PS:我知道 Quartz,我正在评估 EJB 计时器作为替代方案。
您可以使用TimerHandle使计时器持久化。EJB 时代旨在抵御容器崩溃。
有关EJB 时间与其他调度程序系统(如 Quartz)之间的比较,请参阅本文。
根据经验,我可以告诉你,在 Glassfish 中,一旦服务器备份,错过的计时器就会触发。如果您的服务器因两次或多次错过的超时而关闭,它只会触发一次,而不是每次错过的超时一次。然后它会回到您定期安排的计划。