我在我的Weblogic 12.1.1上使用非持久性Timer。 问题是,有时在从回调方法引发系统异常后,定时器不再执行(或只执行一次)。
即使使用带注释的@Scheduled方法以及以编程方式初始化的计时器(TimerService.createCalendarTimer(...)),也会出现此问题
即使在weblogic控制台上,也不再显示计时器。它消失了!
我们必须重新启动服务器以使计时器重新运行...
为什么定时器会消失?有人可以帮忙吗?
答案 0 :(得分:2)
我们在wls 12.1.1上使用非持久性基于日历的计时器遇到了相同的行为。
我认为这是Oracle的一个错误。该问题已经报告给oracle,并列为BUG 19689036。
作为一种解决方法,您可以使用间隔计时器。对我们来说,这解决了我们的问题,仍然满足了我们的要求。
我们强烈建议不要在WLS 12.1.1上使用基于日历的计时器。请改用基于时间间隔的计时器