HTML5技术

使用sqlserver搭建高可用双机热备的Quartz集群部署【附源码】 - 一线码农(4)

字号+ 作者:H5之家 来源:H5之家 2017-05-29 13:01 我要评论( )

properties = new NameValueCollection(); properties[] = ; properties[] = ;properties[] = ; properties[] = ; properties[] = ; properties[] = ; ] = ; 上面的代码配置我都加过详细的注释,大家应该都能看得懂

properties = new NameValueCollection(); properties[] = ; properties[] = ; properties[] = ; properties[] = ; properties[] = ; properties[] = ; ] = ;

 

    上面的代码配置我都加过详细的注释,大家应该都能看得懂,而且这些配置就是这么定死的,没什么修改的空间,大家记住即可。

 

三:Job和Trigger定义

     在集群中环境下,job和trigger的定义该怎么写的?大家也不要想的太复杂,注意一点就可以了,在Schedule一个Job时候,通过CheckExists判断一下

这个Job在Scheduler中是否已经存在了,如果存在,你就不能再次通过Schedule去重复调度一个Job就可以了。。。所以判断的代码也很简单,如下所示:

1 IScheduler scheduler = factory.GetScheduler(); 2 3 scheduler.Start(); jobKey = JobKey.Create(, ); 6 7 if (scheduler.CheckExists(jobKey)) 8 { , jobKey.ToString()); 10 } { 13 IJobDetail job = JobBuilder.Create<HelloJob>() ) 15 .StoreDurably() 16 .RequestRecovery() 17 .WithIdentity(jobKey) , 1) 19 .Build(); 20 21 ITrigger trigger = TriggerBuilder.Create().WithSimpleSchedule(x => x.WithIntervalInSeconds(2).RepeatForever()) 22 .Build(); 23 24 scheduler.ScheduleJob(job, trigger); ); 27 }

 

上面这段代码,大家就可以部署在多台机器中了,是不是很简单?

 

四:强大的cluster完整演示

   

     所有的初始化工作都做完了,接下来我们copy一份bin文件,同时打开两个console程序,如下所示,可以看到job任务只会被一个console调度,另外

一个在空等待。

 

       然后你肯定很好奇的跑到sqlserver中去看看,是否已经有job和trigger的db存储,很开心吧,数据都有的。。。

 

       好了,一切都是那么完美,接下来可以展示一下quartz集群下的高可用啦,如果某一个console挂了,那么另一台console会把这个任务给接过来,实

现强大的高可用。。。所以我要做的事情就是把console1关掉,再看看console2是不是可以开始调度job了???

 

完美,这个就是本篇给大家介绍的Quartz的Cluster集群,一台挂,另一台顶住,双机热备,当然这些console你可以部署在多台机器中,要做的就是保持各

个server的时间同步,因为quarz是依赖于本机server的时间,好了,本篇就先说到这里吧。

 

小礼物走一波,双击666。。。  完整代码:QuartzCluster.zip

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • localstorage和sessionstorage上手使用记录 - 蓓蕾心晴

    localstorage和sessionstorage上手使用记录 - 蓓蕾心晴

    2017-05-24 09:00

  • TensorFlowSharp入门使用C#编写TensorFlow人工智能应用 - LineZero

    TensorFlowSharp入门使用C#编写TensorFlow人工智能应用 - LineZero

    2017-05-24 08:00

  • .net 企业管理系统快速搭建框架 - 请求

    .net 企业管理系统快速搭建框架 - 请求

    2017-05-22 18:06

  • 使用three.js实现机器人手臂的运动效果 - faker_archer

    使用three.js实现机器人手臂的运动效果 - faker_archer

    2017-05-21 14:02

网友点评