2011-08-18 85 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列可能是一個好的解決方案)。該方法會返回是否可以運行定時器。每個實例都會調用該方法,但只有一個實例最終會運行該計時器。

或...

設置羣集。