我有一个在集群中运行的 Glassfish 3.1.2 和一个 EJB 3.1 应用程序。我的应用程序中需要两种计划方法:
- 一种每天只运行一次(在单个节点上)的类型
- 以及在所有节点上运行的其他类型(每 1-2 分钟)——它们不需要运行同步方式!要求只是这种在每个节点上运行。
我不知道如何从这个集群开始 - 问题,这可能@Schedule
(以及如何)还是我需要别的东西?
我有一个在集群中运行的 Glassfish 3.1.2 和一个 EJB 3.1 应用程序。我的应用程序中需要两种计划方法:
我不知道如何从这个集群开始 - 问题,这可能@Schedule
(以及如何)还是我需要别的东西?
我遇到了完全相同的问题(需要一个cluster
计时器和一个per node
计时器)并遇到了这个问题。因此,对于任何感兴趣的人:
如果你用@Schedule(..., persistent=true) 声明定时器,你会得到一个cluster
存储在定时器数据库中的定时器(可以迁移)
如果您使用@Schedule(..., persistent=false) 声明计时器,您将得到一个node
未存储在计时器数据库中的计时器(无法迁移)
你可以看看使用JMS。对于需要在单个节点上运行的方法,使用队列,对于需要在所有节点上运行的方法,使用主题。