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());
} }

  

最新文章

  1. 子DIV设置margin-top影响父DIV位置的解决办法
  2. 第三十三章 metrics(1) - graphite搭建 + whisper存储模式 + 高精度向低精度聚合方式 + 集成StatsD + 集成grafana
  3. ruby -- 进阶学习(三)Strong Parameters在rail3.0和4.0中的区别
  4. Object C学习笔记21-typedef用法
  5. Union的妙用和注意
  6. 信息传递--NOIP2015 day1 T2--暴力
  7. 用tbody代替div 解决 table tr的隐藏问题
  8. Buenos Aires和Rio de Janeiro怎么发音?
  9. 类(class)能不能自己继承自己(转)
  10. Spring MVC 项目搭建 -5- spring security 使用数据库进行验证
  11. Linux学习(四)单用户模式、救援模式、虚拟机克隆、linux互连(包括密匙登录)
  12. 【JSP/Servlet】后台如何获取复选框或可选属性的同名参数
  13. LeetCode(40)-Merge Sorted Array
  14. api_response.go
  15. Linux(CentOS 7)安装测试svn服务
  16. Delete from join 用法
  17. spring boot 热部署,省去频繁编译的步骤
  18. 像调试java一样来调试Redis lua
  19. 用grunt对css代码进行压缩
  20. pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL

热门文章

  1. python3 写excel文件 xlsxwriter模块
  2. Mybatis学习 day02
  3. SpringBoot 配置Redis
  4. docker 独立搭建linux + php 随笔
  5. dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js` vue启动报错解决
  6. 最大化系统并发连接数.Windows.reg
  7. ansible简介,简单实用
  8. linux 查看文件方法
  9. spring boot 2 统一异常处理
  10. 【C++】C++string类总结