如何在群集中运行计划的方法一个节点和所有?(How to run a Scheduled Metho

2019-07-30 04:28发布

我有一个Glassfish的3.1.2,在集群和EJB 3.1应用程序运行。 我需要两种在我的应用计划方法:

  • 一个只运行一次(在单个节点上),每天一次样
  • 和其他类型的运行所有节点(每次1-2分钟)上 - 他们并不需要运行方式SYNCRON! 要求仅仅是这种每个节点上运行。

我不知道如何开始这个集群-问题,这可能与@Schedule (以及如何)或者我需要别的东西吗?

Answer 1:

我面对完全一样的问题(需要一个cluster定时器和per node定时器),连同这个问题就来了。 因此,对于任何有兴趣:

如果你声明的计时器@Schedule(...,持续= TRUE),你会得到一个cluster存储在定时器分贝(可迁移)计时器

如果你声明与@Schedule定时器(...,持续= FALSE),你会得到一个node不存储在定时器分贝定时器(不能迁移)



Answer 2:

你可以看一下使用JMS。 对于需要在单个节点上运行的方法,使用队列和需要的所有节点上运行那些使用主题。



文章来源: How to run a Scheduled Method in a Cluster for one Node and for All?