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