2011-11-23 37 views
0

我想配置Quartz,以便它可以在同一臺機器上的兩個不同的JVM上運行。一臺機器上有兩個不同的JVM的石英?

任何人有想法如何做到這一點?

+0

我不明白爲什麼每個JVM打開一個instane對你來說是一個問題;你需要路由事件還是其他虛擬機之間的通信? –

+0

我想分組任務。基本上說Xgroups運行在一個JVM上,Y組運行在第二個JVM上。問題是 - 是否可以在一臺機器上的兩個不同的JVM上運行兩個quartz實例?或者默認情況下有兩個intanceIDs,quartz schedular是否會啓動不同的JVM?現在我沒有考慮任何事情......涉及事件或互通的路由。 –

+0

再一次,僅僅爲每個JVM的一個組發送任務不適合你?如果不適用,請使用某種消息隊列查看Apache Camel進行路由和過濾。 –

回答

0

你可以這樣做。我甚至可以推薦在一臺機器上在他們自己的JVM中運行幾個Quartz實例。如果您在每個表中使用不同的前綴,您會獲得性能提升,因爲數據庫鎖是獨立的。你必須用每個前綴創建Quartz表。

org.quartz.jobStore.tablePrefix=qrtz_ 

或者你可以使用不同的實例名稱,如果你不關心石英性能:

org.quartz.scheduler.instanceName=JVM1 

在這種情況下,你只需要使用表的「quartz_」前綴就像你使用一個Quartz JVM。

相關問題