日常开发来说,相对于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. 1 # You can configure your scheduler in either <quartz> configuration section
    2. 2 # or in quartz properties file
    3. 3 # Configuration section has precedence
    4. 4
    5. 5 quartz.scheduler.instanceName = ServerScheduler
    6. 6
    7. 7 # configure thread pool info
    8. 8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
    9. 9 quartz.threadPool.threadCount = 10
    10. 10 quartz.threadPool.threadPriority = Normal
    11. 11
    12. 12 # job initialization plugin handles our xml reading, without it defaults are used -->
    13. 13 quartz.plugin.xml.type = Quartz.Plugin.Xml.JobInitializationPlugin, Quartz
    14. 14 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
    15. 15
    16. 16 # export this server to remoting context
    17. 17 quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
    18. 18 quartz.scheduler.exporter.port = 555
    19. 19 quartz.scheduler.exporter.bindName = QuartzScheduler
    20. 20 quartz.scheduler.exporter.channelType = tcp
  • 2.0 quartz.config
    1. 1 # You can configure your scheduler in either <quartz> configuration section
    2. 2 # or in quartz properties file
    3. 3 # Configuration section has precedence
    4. 4
    5. 5 quartz.scheduler.instanceName = ServerScheduler
    6. 6
    7. 7 # configure thread pool info
    8. 8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
    9. 9 quartz.threadPool.threadCount = 10
    10. 10 quartz.threadPool.threadPriority = Normal
    11. 11
    12. 12 # job initialization plugin handles our xml reading, without it defaults are used
    13. 13 quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
    14. 14 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
    15. 15
    16. 16 # export this server to remoting context
    17. 17 quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
    18. 18 quartz.scheduler.exporter.port = 555
    19. 19 quartz.scheduler.exporter.bindName = QuartzScheduler
    20. 20 quartz.scheduler.exporter.channelType = tcp
    21. 21 quartz.scheduler.exporter.channelName = httpQuartz

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

  • 1.0 IJob接口  

    1. public class SimpleJob : IJob
    2. {
    3. #region IJob 成员
    4.  
    5. public void Execute(JobExecutionContext context)
    6. {
    7. throw new NotImplementedException();
    8. }
    9.  
    10. #endregion
    11. }
  • 2.0 IJob接口
    1. public class SimpleJob : IJob
    2. {
    3. #region IJob 成员
    4.  
    5. public void Execute(IJobExecutionContext context)
    6. {
    7. throw new NotImplementedException();
    8. }
    9.  
    10. #endregion
    11. }

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

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

    ES和关系型数据库的数据对比 1.创建索引库PUT/POST都可以,索引库名称必须全部小写,不能以下划线开头,也不能包含逗号curl -XPUT 'http://192.168.136.131:920 ...

  2. 转 Spring Boot之No session repository could be auto-configured, check your configuration问题解决

    1.  环境介绍 JDK 1.8  Spring-Boot 1.5.1.RELEASE, STS IDE 2.  问题的提出 创建了一个非常简约的Spring Boot Web Application ...

  3. python抓取内涵段子文章

    # coding:utf-8 from urllib.request import urlretrieve import threading import requests from bs4 impo ...

  4. PHP 与redis 操作添加处理投票

    <?php header("Content-Type:text/html;charset=utf-8"); include 'lib/mysql.class.php'; $m ...

  5. react + redux 完整的项目,同时写一下个人感悟

    先附上项目源码地址和原文章地址:https://github.com/bailicangd... 做React需要会什么? react的功能其实很单一,主要负责渲染的功能,现有的框架,比如angula ...

  6. 【Java】 大话数据结构(4) 线性表之循环链表

    本文稍微介绍了一下循环链表. 将单链表终端结点的指针域由空指针改为指向头结点,形成一个环,这种头尾相接的单链表称为循环列表. 循环列表的结构如下图所示: 循环链表的优点:可以从任意一个结点出发,遍历所 ...

  7. 点击图片查看大图(纯js)

    $(function(){ $(".pimg").click(function(){ var _this = $(this);//将当前的pimg元素作为_this传入函数 img ...

  8. 007.KVM虚机时间-快照管理

    一 快照管理 1.1 创建快照 [root@kvm-host ~]# virsh snapshot-create vm03-centos6.8 [root@kvm-host ~]# virsh sna ...

  9. Javascript数据类型转换规则

    前言 Javascript有7种数据类型,包括5种原始类型(也叫原始值)number.Boolean.string.null.undefined和2种复合类型object.array,它们之间可以根据 ...

  10. 容器(Container)Frames和Panels

    Frames 1)是Window的子类 2)具有标题和缩放角 3)从容器继承并以add方式添加组件 4)能以字符串规定的标题来创建不可见框架对象 5)能将BorderLayout当做缺省布局管理器 6 ...