public virtual void Bootstrap() { try { configurator = new QuartzConfigurator(); configurator.InitializeMappings(); container = configurator.InitializeWindsorContainer(); configurator.InitializeNHibernateSession(); } catch (Exception e) { logger.Error("Bootstrap failed:" + e.Message, e); throw; } }
public static void GetConfigurationForJob <T>(QuartzConfigurator configurator, TimeSpan recurrentTimeout) where T : IJob { IJobDetail JobBuilder() => Quartz.JobBuilder.Create <T>().Build(); ITrigger TriggerBuilder() => Quartz.TriggerBuilder.Create().WithSimpleSchedule(b => b.WithInterval(recurrentTimeout).RepeatForever()).Build(); QuartzJobListenerConfig JobListenerFn() => new QuartzJobListenerConfig(new JobListener(), KeyMatcher <JobKey> .KeyEquals(new JobKey("cdcJob", "cdcGroup"))); QuartzTriggerListenerConfig TriggerLoggerFn() => new QuartzTriggerListenerConfig(new TriggerListener(), KeyMatcher <TriggerKey> .KeyEquals(new TriggerKey("cdcJob", "cdcGroup"))); ISchedulerListener SchedulerLoggerFn() => new SchedulerListener(); configurator .WithJob(JobBuilder) .AddTrigger(TriggerBuilder) .WithJobListener(JobListenerFn) .WithTriggerListener(TriggerLoggerFn) .WithScheduleListener(SchedulerLoggerFn); }