2011-08-18 48 views
5

我们有一个VIP(BIG-IP),它实际上将Web服务请求移动到两个节点,每个节点都有其自己的GlassFish服务器3.1以及我们的服务部署。所以它不是真正的玻璃鱼群。 我的问题是,我有很多的调度服务,比如一个如下:禁用EJB定时器(GlassFish 3.1,Java EE 6)

@Schedule(minute = "55", hour = "23", dayOfWeek = "Wed") 
public void runScheduledMedicaidPaymentProcess() { 

有我来禁用一个节点,这样上面的方法是不是在两个运行在EJB定时服务方式节点是星期三下午11:55?

我没有看到Glassfish服务器文档中提到的使用_Default池作为群集,但正如我之前所解释的,我们不是真正的群集。请让我知道是否有任何方法停止一个计时器,以便它没有被激活。

回答

2

如果你不使用集群,那么你真的只有两个独立的实例。你将不得不创建一种每种方法检查的信号量(一个db列可能是一个好的解决方案)。该方法会返回是否可以运行定时器。每个实例都会调用该方法,但只有一个实例最终会运行该计时器。

或...

设置群集。