Quartz的自定义插件
quartz本身插件:
LoggingJobHistoryPlugin,LoggingTriggerHistoryPlugin分别可以打印scheduler容器管理的所有triggers和jobDetails的运行日志。 插件XMLSchedulingDataProcessorPlugin
支持使用xml方式管理trigger&job任务(不同于spring对quartz的封装,但很类似), 一个是支持scheduler的管理的插件。JobInterruptMonitorPlugin监控job执行假死插件(执行时间过长)。ShutdownHookPlugin 捕获JVM终止的事件,并在调度程序上调用shutdown
我们可以自定义插件
public class QuartzPlugins implements SchedulerPlugin, JobListener { private String name; private Scheduler scheduler; @Override
public void initialize(String s, Scheduler scheduler, ClassLoadHelper classLoadHelper) throws SchedulerException {
this.name = s;
this.scheduler = scheduler;
log.info("--------------------初始化自定义插件 {}-----------------", name);
scheduler.getListenerManager().addJobListener(this, EverythingMatcher.allJobs());
} @Override
public void start() {
log.info("--------------------启动自定义插件 {}-----------------", name);
} @Override
public void shutdown() {
log.info("--------------------关闭自定义插件 {}-----------------", name);
} /**
* 方法返回一个字符串用以说明 JobListener 的名称
*/
@Override
public String getName() {
return "spz-spz";
} /**
* Scheduler 在 JobDetail 将要被执行时调用这个方法
*/
@Override
public void jobToBeExecuted(JobExecutionContext jobExecutionContext) {
log.info("[自定义插件] 被执行时 " + jobExecutionContext.getJobRunTime());
} /**
* Scheduler 在 JobDetail 即将被执行,但又被 TriggerListener 否决了时调用这个方法。
*/
@Override
public void jobExecutionVetoed(JobExecutionContext jobExecutionContext) {
log.info("[自定义插件] 即将被执行" + jobExecutionContext.getJobRunTime());
} /**
* Scheduler 在 JobDetail 被执行完毕
*/
@Override
public void jobWasExecuted(JobExecutionContext jobExecutionContext, JobExecutionException e) {
log.info("[自定义插件] JobListener 执行之后" + jobExecutionContext.getJobRunTime());
} }
Quartz的自定义插件的更多相关文章
- 深入学习jQuery自定义插件
原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数); $(‘#id’).myPlugin(o ...
- jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...
- Phonegap中自定义插件的使用
在phonegap中需要实现特定相关的功能,可能需要自定义扩展一下功能,那么扩展phonegap组件就成为了可能. 源代码结构图: 本文目的在于讲述怎么扩展一个phonegap组件以及实现. 针对ph ...
- jquery自定义插件——以 选项卡插件为例
一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...
- Cordova - 与iOS原生代码交互2(使用Swift开发Cordova的自定义插件)
在前一篇文章中我介绍了如何通过 js 与原生代码进行交互(Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)),当时是直接对Cordova生成的iOS工程项目进行编辑操作的(添加 ...
- jQuery自定义插件
jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件, ( ...
- cordova3.X 运用grunt生成plugin自定义插件骨架
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.Cordova还提供了一组统一的JavaScript类库,以及为这些 ...
- cordova /phonegap 自定义插件
### cordova /phonegap 自定义插件 在使用cordova 的过程中,虽然官方提供的插件以及其他人开源的插件较多.但有时为了实现某种需求,还是需要自己编写插件. 以前总是会手动的配置 ...
- gulp如何自定义插件
gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...
随机推荐
- swing 嵌入浏览器
需求要在swing加一个浏览器,在网上找了一个挺方便的方法,现在把代码贴上来 力求方便. package com.vtradex.page.shipment; import static javafx ...
- 996 icu我能为你做什么?
今天996,未来icu 996icu地址:https://github.com/996icu/996.ICU 前段时间github上出现了,一个讨论996的项目,这个项目使中国的软件工程师达到了空前的 ...
- 容器——list(双向链表)
做了一道list可以解决的题,才发现list多么的好 转自https://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.html 1 ...
- matplotlib.mlab库的重要函数
连接地址 matplotlib.mlab¶ 与 MATLAB兼容的函数 MATLAB compatible functions¶ cohere() Coherence (normalized cros ...
- [转载]EF或LINQ 查询时使用IN并且根据列表自定义排序方法
原文地址:EF或LINQ 查询时使用IN并且根据列表自定义排序方法作者:李明川 EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很 ...
- 爬虫之进阶 基于twisted实现自制简易scrapy框架(便于对scrapy源码的理解)
1.调度器 class Scheduler(object): """调度器""" def __init__(self, engine): & ...
- phpstorm中open in browser端口和路径设置
phpstorm默认的端口号是:63342但是我装的apache服务器的默认端口是80网上查找资料,都说可以加listen的端口,比如这里 #Listen 12.34.56.78:80Listen 8 ...
- 【JAVA】JAVAで各DBに接続する方法(JDBC)の纏め(未完結)
■目録 ■ソース ①SQLite3 package cn.com.sy; import java.sql.Connection; import java.sql.DriverManager; impo ...
- PHP的ob_flush()与flush()区别
PHP的ob_flush()与flush()区别 标签: php ob-flush flush buffer 2017年03月24日 17:50:393248人阅读 评论(0) 收藏 举报 分类: ...
- CentOS 6安装配置mongodb
安装过程 服务器下载安装包 下载: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.6.tgz; 解压 ...