codecamp

Quartz配置TerracottaJobStore

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秒)。


使用JDBC-JobStore配置群集
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }