codecamp

Quartz插件配置

配置计划程序插件

像通过配置文件配置插件的Listeners一样,包括给出一个名称,然后指定类名称以及要在实例上设置的任何其他属性。该类必须有一个no-arg构造函数,并且属性被反射设置。只支持原始数据类型值(包括字符串)。

因此,定义插件的一般模式是:

配置插件

org.quartz.plugin.NAME.class = com.foo.MyPluginClass
org.quartz.plugin.NAME.propName = propValue
org.quartz.plugin.NAME.prop2Name = prop2Value

Quartz附带了几个插件,可以在org.quartz.plugins包(和子包)中找到。配置其中几个示例如下:

日志记录Triggers历史插件的示例配置

记录Triggers历史记录插件捕获Triggers事件(它也是一个触发器监听器),然后使用Jakarta Commons-Logging日志记录。请参阅类的JavaDoc以获取所有可能参数的列表。

日志记录Triggers历史插件的示例配置

org.quartz.plugin.triggHistory.class = \
  org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = \
  Trigger \{1\}.\{0\} fired job \{6\}.\{5\} at: \{4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = \
  Trigger \{1\}.\{0\} completed firing job \{6\}.\{5\} at \{4, date, HH:mm:ss MM/dd/yyyy\}.

XML调度数据处理器插件的示例配置

作业初始化插件从XML文件读取一组作业和触发器,并在初始化期间将其添加到调度程序。它也可以删除退出的数据。有关更多详细信息,请参阅该类的JavaDoc。

JobInitializationPlugin的示例配置

org.quartz.plugin.jobInitializer.class = \
  org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = \
  data/my_job_data.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true

文件的XML模式定义可以在这里找到:

http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd

关闭挂钩插件的示例配置

shutdown-hook插件捕获JVM终止的事件,并在调度程序上调用shutdown。

ShutdownHookPlugin的示例配置

org.quartz.plugin.shutdownhook.class = \
  org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
Quartz配置Global Listeners
Quartz配置RMI设置
温馨提示
下载编程狮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; }