9

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

  • 一种每天只运行一次(在单个节点上)的类型
  • 以及在所有节点上运行的其他类型(每 1-2 分钟)——它们不需要运行同步方式!要求只是这种在每个节点上运行。

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

4

2 回答 2

10

我遇到了完全相同的问题(需要一个cluster计时器和一个per node计时器)并遇到了这个问题。因此,对于任何感兴趣的人:

如果你用@Schedule(..., persistent=true) 声明定时器,你会得到一个cluster存储在定时器数据库中的定时器(可以迁移)

如果您使用@Schedule(..., persistent=false) 声明计时器,您将得到一个node未存储在计时器数据库中的计时器(无法迁移)

于 2012-10-06T07:17:48.300 回答
0

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

于 2012-06-28T17:38:42.823 回答