欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Quartz.Net实现原理及使用方法详解

时间:2021-04-24 09:33:34|栏目:JAVA代码|点击:

调度器(scheduler)必须在实例化之后才能使用(谁能想到呢?)。你可以通过一个ISchedulerFactory接口的实例来实现它。

实例化调度器(scheduler)后,可以启动、处于待机模式或者关闭。注意,一个调度器(scheduler)一旦被关闭,它必须被重新实例化才可以再次启动。直到调度器(scheduler)启动,触发器(Triggers)才会被触发(执行任务(job)),但处于暂停模式的触发器(trigger)不会被触发。

这里有一段简单的代码,实例化了一个调度器(scheduler)并启动了它,还调度了一个任务(job)去执行。

使用 Quartz.NET

 // construct a scheduler factory 构造一个scheduler工厂
  NameValueCollection props = new NameValueCollection
  {
    { "quartz.serializer.type", "binary" }
  };
  StdSchedulerFactory factory = new StdSchedulerFactory(props);
  
  // get a scheduler 获取一个scheduler
  IScheduler sched = await schedFact.GetScheduler();
  await sched.Start();
  
	// define the job and tie it to our HelloJob class 定义一个job,与HelloJob类关联
	IJobDetail job = JobBuilder.Create<HelloJob>()
		.WithIdentity("myJob", "group1")
		.Build();

	// Trigger the job to run now, and then every 40 seconds 触发任务马上执行,并且每40秒执行一次
	ITrigger trigger = TriggerBuilder.Create()
   .WithIdentity("myTrigger", "group1")
   .StartNow()
   .WithSimpleSchedule(x => x
     .WithIntervalInSeconds(40)
     .RepeatForever())
   .Build();
	 
  await sched.ScheduleJob(job, trigger);

如你所见,使用 Quartz.NET 非常简单。之后我们会给出一个关于任务(Jobs)和触发器(Triggers)的快速概览,方便你更好地理解这个例子。

上一篇:如何通过Java代码实现KMP算法

栏    目:JAVA代码

下一篇:Java中四种线程池的使用示例详解

本文标题:Quartz.Net实现原理及使用方法详解

本文地址:http://www.codeinn.net/misctech/108052.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有