Quartz在Spring中的集群

  1. 环境:多个tomcat(可以在一台机器,也可以在多台机器),同一个数据库

  2. 每台机器必须保证时间同步,否则会出现离奇且不可预知的行为,有几种简单的方法来保证时钟何持同步,而且也没有理由不这么做。最简单的同步计算机时钟的方式是使用某一个 Internet 时间服务器(Internet Time Server ITS)。

  3. 每个Quartz节点都是直接与数据库通信,并不与任何其它的节点通信。需要所有节点服务器时钟同步,所有节点共享一套数据库表,每个节点是通过数据库表记录的时间来知道当前那些Trigger在执行

  4. org.quartz.jobStore.isClustered 属性为 true,你就告诉了 Scheduler 实例要它参与到一个集群当中。这一属性会贯穿于调度框架的始终,用于修改集群环境中操作的默认行为。

  5. org.quartz.jobStore.clusterCheckinInterval 属性定义了Scheduler 实例检入到数据库中的频率(单位:毫秒)。Scheduler 检查是否其他的实例到了它们应当检入的时候未检入;这能指出一个失败的 Scheduler 实例,且当前 Scheduler 会以此来接管任何执行失败并可恢复的 Job。通过检入操作,Scheduler 也会更新自身的状态记录。clusterChedkinInterval 越小,Scheduler 节点检查失败的 Scheduler 实例就越频繁。默认值是 15000 (即15 秒)。

 

你可能感兴趣的:(Quartz在Spring中的集群)