Timer 在Websphere Application Server的群集环境中重新聚合时的EJB计时器

Timer 在Websphere Application Server的群集环境中重新聚合时的EJB计时器,timer,ejb,websphere,cluster-computing,Timer,Ejb,Websphere,Cluster Computing,我有一个.ear文件,它由多个EJB组成,其中一个使用计时器服务创建计时器,同一个EJB也有回调方法。该ear应该部署在由3台服务器组成的集群环境中。现在的问题是,如果我在集群中重新部署/取消部署ear,我想知道预期的行为是什么。服务器是否会取消所有计时器并清除持久计划程序?或者它会保存它们?解决办法是什么 我在IBM web链接中读到: 目前,我没有能力创建一个环境来测试这种情况并做出自信的决定,我想知道以前是否有人遇到过这样的问题,因为这对我来说是一个非常关键的问题 谢谢删除应用程序时不会删

我有一个.ear文件,它由多个EJB组成,其中一个使用计时器服务创建计时器,同一个EJB也有回调方法。该ear应该部署在由3台服务器组成的集群环境中。现在的问题是,如果我在集群中重新部署/取消部署ear,我想知道预期的行为是什么。服务器是否会取消所有计时器并清除持久计划程序?或者它会保存它们?解决办法是什么

我在IBM web链接中读到:

目前,我没有能力创建一个环境来测试这种情况并做出自信的决定,我想知道以前是否有人遇到过这样的问题,因为这对我来说是一个非常关键的问题


谢谢

删除应用程序时不会删除EJB计时器。一些选择:

  • 使用
    WAS\u HOME/bin/cancelEJBTimers
    命令删除它们
  • 将启动逻辑添加到应用程序中,以根据需要取消/重新创建计时器
  • 在8.0+中使用自动计时器(
    @Schedule
    )。在这种情况下,服务器会在应用程序首次启动时自动创建计时器,并在卸载应用程序时尝试删除计时器。有关详细信息,请参见信息中心:

  • 链接中的这句话是什么意思:“当一个实体bean被删除时,所有的计时器,无论创建在哪里,都会被取消”?????我不知道实体bean是如何出现在上下文中的,因为计时器是用于EJB的非实体bean的。这是指EJB2.x实体bean,而不是JPA实体bean。当一个EJB2.x实体bean被删除时,它创建的所有计时器也会被删除。如果我卸载一个ear进行更新呢。这是否会导致取消以编程方式创建的永久计时器?否,您必须始终手动取消以编程方式创建的永久计时器。