zoukankan      html  css  js  c++  java
  • Quartz.NET 2.0 学习笔记(2) :和1.0的几点不同

    Quartz.NET 2.0 2012年4月9日发布了Released

    Quartz.NET 项目地址 http://quartznet.sourceforge.net/

    Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介

    Quartz.NET 2.0 学习笔记(2) :和1.0的几点不同

    Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度

    Quartz.NET 2.0 学习笔记(4) :cron表达式

    Quartz.NET 2.0 学习笔记(5) :实例创建Windows服务实现任务调度

    日常开发来说,相对于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的支持
  • 相关阅读:
    numpy金融函数
    Linux下shell编程
    numpy数组的排序,搜索,元素抽取
    cer格式证书转pem格式
    Facebook发行的新币Libra具体文档
    Golang包管理工具之govendor的使用
    nodejs安装依赖包使用阿里镜像
    ubuntu后台开启守护程序
    hyperledger cello部署
    fabric-smaple部署
  • 原文地址:https://www.cnblogs.com/lzrabbit/p/2446596.html
Copyright © 2011-2022 走看看