阅读(3385) (1)

Quartz配置TerracottaJobStore

2017-09-28 14:49:16 更新

TerracottaJobStore用于在兵马俑服务器内存储调度信息(Jobs,Triggers和calendars)。TerracottaJobStore比使用数据库来存储调度数据(通过JDBC-JobStore)要好得多,而且提供了诸如负载平衡和故障切换之类的集群功能。

您可能需要考虑如何设置Terracotta服务器的影响,特别是启用功能的配置选项,例如在磁盘上存储数据,使用fsync以及运行一系列的Terracotta服务器。

集群功能最适合扩展长时间运行和/或cpu密集型作业(通过多个节点分配工作负载)。如果您需要扩展以支持数千个短期运行(例如1秒)作业,请考虑使用多个不同的调度程序对作业集进行分区。使用多个调度程序当前强制使用集群范围的锁,这是一种在添加更多客户端时降低性能的模式。

有关此JobStore和Terracotta的更多信息, 请访问http://www.terracotta.org/quartz>

通过设置“org.quartz.jobStore.class”属性来选择TerracottaJobStore:

将计划程序的JobStore设置为TerracottaJobStore

org.quartz.jobStore.class = org.terracotta.quartz.TerracottaJobStore

TerracottaJobStore可以使用以下属性进行调整:

Property NameRequiredTypeDefault Value
org.quartz.jobStore.tcConfigUrlyesstring
org.quartz.jobStore.misfireThresholdnoint60000

org.quartz.jobStore.tcConfigUrl

主机和端口标识要连接的Terracotta服务器的位置,例如“localhost:9510”。

org.quartz.jobStore.misfireThreshold

在被认为“misfired”之前,调度程序将“tolerate”一个trigger将其下一个启动时间通过的毫秒数。默认值(如果您在配置中未输入此属性)为60000(60秒)。