Ejb计时器任务应该在每个集群成员上运行

时间:2013-10-30 21:33:36

标签: java timer websphere cluster-computing

我需要一个EJB计时器任务在每个集群成员上运行,而不是只运行其中一个。

使用WAS8,定时器服务被配置为使用DB来存储持久定时器的数据。似乎所有持久性计时器都只在一个集群成员上运行。非持久性计时器是否会在所有集群成员上运行?

1 个答案:

答案 0 :(得分:1)

  

是的 - 他们共享相同的数据库。   似乎所有持久性计时器都只在一个集群成员上运行。

根据documentation:

  

群集的共享或公共计时器服务数据库。可以在任何服务器进程或集群成员上创建和访问计时器。 ...但是,所有计时器都在集群中的单个服务器上执行,也就是说,对单个服务器上的所有计时器运行bean的超时方法。哪个服务器执行定时器取决于哪个服务器进程获得对公共数据库表的锁定。

     

非持久性计时器是否会在所有集群成员上运行?

非持久性计时器不使用计时器db,因此,它们将在每个群集节点中独立运行。请注意,每次关闭服务器时,必须在服务器重新启动后创建非持久性计时器。

群集问题取决于平台,因此可以在您的问题中添加websphere标记。