2011-11-23 76 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。

相关问题