Java学业调度框架 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之后的特性,例如DateTimeOffset。那是Quartz.NET
有史以来最大的、最值得欢快的三个本子。

该版本除了在品质上具有升级外,增添了如下新特征:

  • Scheduler.Clear() 提供方便用于破除全体职责、触发器和日程的章程
  • Scheduler.ScheduleJobs((IDictionary> triggersAndJobs, boolean
    replace) 方法可批量扩充职务和触发器
  • Scheduler.UnscheduleJobs(IList triggerKeys) 方法提供批量注销任务的
  • Scheduler.DeleteJobs(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 添加了1个迷你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和Triggers 今后是基于乔布斯Key和TriggersKey,Keys
    包罗一个Name和1个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

参考小说:

相关文章