日常开发来说,相对于1.0版,2.0版在使用上有以下几点需要注意的变化

变化一 比1.0多引用了C5.dll

  • C5.dll 一个C#和其他CLI语言的泛型集合类。.Net2.0及以上才可以使用。简介地址:http://www.itu.dk/research/c5/

变化二 quartz.config有细微变化

  • quartz.plugin.xml.type由1.x的Quartz.Plugin.Xml.JobInitializationPlugin, Quartz变为了2.0中的Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
  • 2.0版本新增了一行配置quartz.scheduler.exporter.channelName = httpQuart
  • 1.0 quartz.config
     1 # You can configure your scheduler in either <quartz> configuration section
    2 # or in quartz properties file
    3 # Configuration section has precedence
    4
    5 quartz.scheduler.instanceName = ServerScheduler
    6
    7 # configure thread pool info
    8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
    9 quartz.threadPool.threadCount = 10
    10 quartz.threadPool.threadPriority = Normal
    11
    12 # job initialization plugin handles our xml reading, without it defaults are used -->
    13 quartz.plugin.xml.type = Quartz.Plugin.Xml.JobInitializationPlugin, Quartz
    14 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
    15
    16 # export this server to remoting context
    17 quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
    18 quartz.scheduler.exporter.port = 555
    19 quartz.scheduler.exporter.bindName = QuartzScheduler
    20 quartz.scheduler.exporter.channelType = tcp
  • 2.0 quartz.config
     1 # You can configure your scheduler in either <quartz> configuration section
    2 # or in quartz properties file
    3 # Configuration section has precedence
    4
    5 quartz.scheduler.instanceName = ServerScheduler
    6
    7 # configure thread pool info
    8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
    9 quartz.threadPool.threadCount = 10
    10 quartz.threadPool.threadPriority = Normal
    11
    12 # job initialization plugin handles our xml reading, without it defaults are used
    13 quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
    14 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
    15
    16 # export this server to remoting context
    17 quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
    18 quartz.scheduler.exporter.port = 555
    19 quartz.scheduler.exporter.bindName = QuartzScheduler
    20 quartz.scheduler.exporter.channelType = tcp
    21 quartz.scheduler.exporter.channelName = httpQuartz

变化三 实现IJob接口 JobExecutionContext对象变成了IJobExecutionContext 

  • 1.0 IJob接口  

     public class SimpleJob : IJob
    {
    #region IJob 成员 public void Execute(JobExecutionContext context)
    {
    throw new NotImplementedException();
    } #endregion
    }
  • 2.0 IJob接口
     public class SimpleJob : IJob
    {
    #region IJob 成员 public void Execute(IJobExecutionContext context)
    {
    throw new NotImplementedException();
    } #endregion
    }

变化四 quartz_jobs.xml配置节发生了变化

  • 根结点有<quartz>变为了<job-scheduling-data>
  • 新增了<schedule>节点,<job>均放在<schedule>节点下,删除了 <job-detail>节点,同时删除了<volatile>false</volatile>属性
  • <trigger>不在放置在<job>下面,改为和<job>平行
  • 1.0 quartz_jobs.xml示例
     1 <?xml version="1.0" encoding="UTF-8"?>
    2 <quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" overwrite-existing-jobs="true">
    3
    4 <job>
    5 <job-detail>
    6 <name>sampleJob</name>
    7 <group>sampleGroup</group>
    8 <description>Sample job for Quartz Server</description>
    9 <job-type>Quartz.Job.NoOpJob, Quartz</job-type>
    10 <volatile>false</volatile>
    11 <durable>true</durable>
    12 <recover>false</recover>
    13 </job-detail>
    14 <trigger>
    15 <simple>
    16 <name>sampleSimpleTrigger</name>
    17 <group>sampleSimpleGroup</group>
    18 <description>Simple trigger to simply fire sample job</description>
    19 <misfire-instruction>SmartPolicy</misfire-instruction>
    20 <volatile>false</volatile>
    21 <job-name>sampleJob</job-name>
    22 <job-group>sampleGroup</job-group>
    23 <repeat-count>RepeatIndefinitely</repeat-count>
    24 <repeat-interval>3000</repeat-interval>
    25 </simple>
    26 </trigger>
    27 </job>
    28
    29 <job>
    30 <job-detail>
    31 <name>sampleJob2</name>
    32 <group>sampleGroup2</group>
    33 <description>Sample job for Quartz Server</description>
    34 <job-type>Quartz.Job.NoOpJob, Quartz</job-type>
    35 <volatile>false</volatile>
    36 <durable>true</durable>
    37 <recover>false</recover>
    38 </job-detail>
    39 <trigger>
    40 <cron>
    41 <name>sampleSimpleTrigger2</name>
    42 <group>sampleSimpleTrigger2</group>
    43 <job-name>sampleJob2</job-name>
    44 <job-group>sampleGroup2</job-group>
    45 <cron-expression>0/10 * * * * ?</cron-expression>
    46 </cron>
    47 </trigger>
    48 </job>
    49 </quartz>
  • 2.0 quartz_jobs.xml示例
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- This file contains job definitions in schema version 2.0 format -->
    
    <job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
    
      <processing-directives>
    <overwrite-existing-data>true</overwrite-existing-data>
    </processing-directives> <schedule> <job>
    <name>sampleJob</name>
    <group>sampleGroup</group>
    <description>Sample job for Quartz Server</description>
    <job-type>Quartz.Server.SampleJob, Quartz.Server</job-type>
    <durable>true</durable>
    <recover>false</recover>
    </job>
    <trigger>
    <simple>
    <name>sampleSimpleTrigger</name>
    <group>sampleSimpleGroup</group>
    <description>Simple trigger to simply fire sample job</description>
    <job-name>sampleJob</job-name>
    <job-group>sampleGroup</job-group>
    <misfire-instruction>SmartPolicy</misfire-instruction>
    <repeat-count>-1</repeat-count>
    <repeat-interval>10000</repeat-interval>
    </simple>
    </trigger> <job>
    <name>CommissionJob</name>
    <group>CommissionJob</group>
    <description>Sample job for Quartz Server</description>
    <job-type>Settlement.Jobs.CommissionJob, Settlement.Jobs</job-type>
    <durable>true</durable>
    <recover>false</recover>
    </job>
    <trigger>
    <cron>
    <name>sampleSimpleTrigger2</name>
    <group>sampleSimpleTrigger2</group>
    <job-name>sampleJob2</job-name>
    <job-group>sampleGroup2</job-group>
    <cron-expression>0/10 * * * * ?</cron-expression>
    </cron>
    </trigger>
    </schedule>
    </job-scheduling-data>

变化五 支持.Net版本不同

  • Quartz 1.0可以支持.Net 1.1 和 .Net 2.0及以上版本
  • Quartz 2.0仅支持.Net 3.5及以上版本,放弃了对.Net 1.1和.Net 2.0的支持

quartz 2.0 与1.0功能对比的更多相关文章

  1. PDF Transformer+与Transformer3.0功能对比

    ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...

  2. .net Mongo Driver 1.0与2.0的对比与2.0的优化

    前言 最近闲的时间有点多,所以还是写博客吧. 有人说Mongo 2.0的写法难以把控,好多地方不知道咋用,所以坚持用1.0(不愿意去尝试2.0),我感觉不可理解.所以写篇博客比较下. Mongo C# ...

  3. 微信公众号php从0开发,包括功能(自定义菜单,分享)

    之前写的一篇微信公众号文章. 工作需要,进行此次调研,并记录开发过程. 开发目的,页面授权,页面获取用户头像,用户昵称 微信id, 分享页面. 微信订阅号 无法获取用户个人信息 写在记录前,公众号也是 ...

  4. .NET Framework3.0/3.5/4.0/4.5新增功能摘要

    Microsoft .NET Framework 3.0 .NET Framework 3.0 中增加了不少新功能,例如: Windows Workflow Foundation (WF) Windo ...

  5. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)

    (前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...

  6. .Net框架2.0和4.0版本对比

    .Net版本 2.0 SP2 4.0 操作系统 Windows 2000 SP4以上 Windows XP SP3以上 安装包大小 NetFx20SP2_x86.exe 23.8 MBNetFx20S ...

  7. Eviews 8.0&9.0界面新功能介绍

    Eviews 8.0&9.0界面新功能介绍 本文其中一些是自己的整理,也有一些是经管之家论坛中一位热心.好学坛友的整理,其中只是简单介绍一下这两个新版本的部分特性,分享出来,有兴趣的看客可以一 ...

  8. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1    界面说明 1.2     查询条件 1.2.1     ...

  9. SpringBoot2.0小程序支付功能实现weixin-java-pay

    SpringBoot2.0小程序支付功能实现weixin-java-pay WxJava - 微信开发 Java SDK(开发工具包); 支持包括微信支付.开放平台.公众号.企业微信/企业号.小程序等 ...

  10. MySQL 8.0有什么新功能

    https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ 我们自豪地宣布MySQL 8.0的一般可用性. 现在下载 ...

随机推荐

  1. MVC控制器使用总结

    一.新手入门 1.特性 [AuthorizeFilter]  用于权限过滤 [HttpGet] [HttpPost] 2.参数 GET获取 [HttpGet] ) { return Json(&quo ...

  2. 接收二进制流(ArrayBuffer) ,并且显示二进制流图片

    1.调用接口,返回二进制流数据 var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { && xhr ...

  3. webapck编译打包stylus文件

    先安装css-loader.stylus.stylus-loader npm install --save-dev css-loader npm install --save-dev stylus n ...

  4. activiti主要组件解析

    Activiti内部实现中,各主要部件关系 对外,提供Service服务,它是无状态的. 这些Service包括: protected RepositoryService repositoryServ ...

  5. DEEP COMPRESSION小记

    2016ICLR最佳论文 Deep Compression: Compression Deep Neural Networks With Pruning, Trained Quantization A ...

  6. Java编程的逻辑 (16) - 继承的细节

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  7. IntelIJ IDEA配置Tomcat遇到问题Error during artifact deployment. See server log for details

    IntelIJ IDEA在配置tomcat的时候会遇到Error during artifact deployment. See server log for details.这样的问题,我的系统是W ...

  8. oracle中 connect by prior 递归查询

    Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename sta ...

  9. [转] impress.js学习

    引子 断断续续用了好几天,终于把 impress.js 源码看完,作为刚入门的前端菜鸟,这是我第一次看 js 源码,最初还是比较痛苦的.不过还好,impress.js源码的注释相当清楚,每个函数和事件 ...

  10. 【LOJ】#2546. 「JSOI2018」潜入行动

    题解 dp[i][j][0/1][0/1]表示以\(i\)为根的子树,用了\(j\)个,i点选了或者没选,i点被覆盖或没被覆盖 转移比较显然,但是复杂度感觉不太对? 其实转移到100个的时候就使第二维 ...