作业调度框架 Quartz.NET 2.0 beta 揭橥

通过上上下下1年多时刻的支出,Quartz.NET 2.0颁发了beta版,对应于Java
Quartz的2.1版本,下载地址
http://quartznet.sourceforge.net/download.html
。整个版本相对于1.0本子举行了大气的修改,单元测试的代码更友善(重构了越来越多的接口),API是按照泛型和.NET
3.5 SP1之后的风味,例如Date提姆(Tim)eOffset。那是Quartz.NET
有史以来最大的、最值得快乐的一个本子。

该版本除了在性质上具有升级外,扩展了之类新特色:

  • Scheduler.Clear() 提供方便用于破除所有职责、触发器和日程的办法
  • Scheduler.ScheduleJobs((IDictionary> triggersAnd乔布斯(Jobs)(Jobs), boolean
    replace) 方法可批量增加职分和触发器
  • Scheduler.UnscheduleJobs(IList triggerKeys) 方法提供批量取消职分的
  • Scheduler.Delete乔布斯(Jobs)(Jobs)(IList jobKeys),不用说,那是批量刨除义务的
  • Scheduler.CheckExists(JobKey jobKey) 和
    Scheduler.CheckExists(TriggerKey
    triggerKey)提供用于检测任务主要字的唯一性
  • AdoJobStore allows one set of tables to be used by multiple distinct
    scheduler instances
  • AdoJobStore is now capable of storing non-core Trigger
    implementations without using BLOB columns, through the use of the
    new TriggerPersistenceDelegate interface, which can (optionally) be
    implemented by implementers of custom Trigger types.
  • Cron 表明式帮助指定每月的最后一天和最终一周,例如 L-3
    为每月的终极五天
  • 带有调度音信的 XML 文件增加了用来指定启动时间和间隔时间的格局
  • XML 文件辅助为触发器指定 priority 属性
  • 追加主题职务 DirectoryScanJob ,之前的FileScanJob 添加了一个迷你mum
    age参数

2.0在API上也做了主要的修改,API再次来到值的成团和泛型的运用,消除歧义和冗余代码,掩藏/删除不应有公开给客户端的方法,进步关切点分离,并引入与世界特定语言DSL的着力实体(jobs
and
triggers),自然就有了包容性等问题,大家今日来看下都有何样紧要的修改:

  • 不在辅助.NET 1.1和2.0,要求Quartz.net 2.0起码须求.NET 3.5
    SP1,是由于接纳了新的言语特色和类接口
  • 成百上千公家接口的回到值Array更改为泛型的IList和ISet,例如GetJobGroupNames():
    string[] 现在转移为 GetJobGroupNames(): IList
    ,现在用来标识乔布斯(Jobs)(Jobs)和Triggers 现在是依据JobsKey和TriggersKey,Keys
    包蕴一个Name和一个Group。操作特定jobs/triggers
    的不二法门应用Keys作为参数。例如GetTrigger(TriggerKey key): ITrigger
    替换了GetTrigger(string name, string group):
    Trigger,ITrigger现在是一个接口而不是类。ISimpleTrigger,
    ICronTrigger也一致。新的 DSL/builder-based API 社团乔布斯(Jobs)和Triggers。

     IJobDetail job = JobBuilder.Create<SimpleJob>()
.WithIdentity(“job1”, “group1”) .Build();

     ITrigger trigger = TriggerBuilder.Create()
.WithIdentity(“trigger1”, “group1”) .StartAt(DateBuilder.FutureDate(2,
IntervalUnit.HOURS)) .WithSimpleSchedule(x =>
x.RepeatHourlyForever()) .ModifiedByCalendar(“holidays”) .Build();

  • JobInitializationPlugin
    已经移除,用XMLSchedulingDataProcessorPlugin替代
  • Microsoft’s Oracle drivers已经不再协理,使用10g 或者 11g ODP.NET
    drivers替代
  • 数据库的Sechema已经修改,须要运用database目录下的脚本吧1.x的Schema升级到2.0

Oracle,参考作品:

相关文章