Timer WebSphereEJB定时器

Timer WebSphereEJB定时器,timer,ejb,websphere,websphere-8,Timer,Ejb,Websphere,Websphere 8,我们有一个应用程序,目前已从WebSphere6迁移到WebSphere8.5。应用程序使用EJB注释和EJB计时器。定时器设置为每5分钟执行一次。该特性在WebSphere6上运行了多年,没有出现任何问题。在迁移到WebSphere8.5之后,EJB计时器将无限期地每毫秒触发一次,就像预期的每5分钟触发一次一样(预定义值)。有人能帮我找到这个问题的根本原因吗。如果您在迁移前后使用相同的数据库表,使得预先存在的计时器任务保持计划状态,并且有一段时间它们无法运行,那么您描述的行为可能是由于赶上了错

我们有一个应用程序,目前已从WebSphere6迁移到WebSphere8.5。应用程序使用EJB注释和EJB计时器。定时器设置为每5分钟执行一次。该特性在WebSphere6上运行了多年,没有出现任何问题。在迁移到WebSphere8.5之后,EJB计时器将无限期地每毫秒触发一次,就像预期的每5分钟触发一次一样(预定义值)。有人能帮我找到这个问题的根本原因吗。

如果您在迁移前后使用相同的数据库表,使得预先存在的计时器任务保持计划状态,并且有一段时间它们无法运行,那么您描述的行为可能是由于赶上了错过的执行


如果是这种情况,请尝试在表()中查询NEXTFIRETIME。如果此值表示的毫秒数是过去某个日期的毫秒数,则可以预期将运行未执行的执行。一种选择是让它运行,并让它赶上当前时间。否则,您可以取消并重新安排计时器任务。

我们在迁移前后使用相同的表。我查询了NEXTFIRETIME,日期时间是未来的,与当前时间相差5分钟(已配置)。鉴于您已确认它没有执行追赶执行,并且实际上是为未来安排的,我建议您与IBM支持部门一起打开一个案例。