我想知道持久定时器和非持久定时器之间的区别。 我用
做了一个简单的样本@Schedule(hour = "*", minute = "5", second = "*/5", info = "Persistent timer")
第二次
@Schedule(hour = "*", minute = "5", second = "*/5", info = "Nonpersistent timer",persistent = false)
该应用程序部署在Weblogic上,并且它对两个计时器都具有相同的行为。
理论上差异是
默认情况下,计时器是持久的。如果服务器关闭或 崩溃,持久计时器被保存,并将在以后再次激活 服务器重新启动。如果持久计时器到期,则 服务器关闭后,容器将调用@Timeout方法 服务器重新启动。
通过调用创建非持久编程计时器 TimerConfig.setPersistent(false)并将TimerConfig对象传递给 其中一个计时器创建方法。
所以说在第一种情况下我停止了服务器(模拟了崩溃但是没有触发计时器,只是在执行新的超时时才启动。
有什么想法吗?感谢