public static void UseInMemoryScheduler(this IBusFactoryConfigurator configurator) { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); var scheduler = schedulerFactory.GetScheduler(); configurator.ReceiveEndpoint("quartz", e => { var partitioner = configurator.CreatePartitioner(16); e.Consumer(() => new ScheduleMessageConsumer(scheduler), x => x.Message <ScheduleMessage>(m => m.UsePartitioner(partitioner, p => p.Message.CorrelationId))); e.Consumer(() => new CancelScheduledMessageConsumer(scheduler), x => x.Message <CancelScheduledMessage>(m => m.UsePartitioner(partitioner, p => p.Message.TokenId))); configurator.UseMessageScheduler(e.InputAddress); var specification = new SchedulerBusFactorySpecification(scheduler, e.InputAddress); configurator.AddBusFactorySpecification(specification); }); }
public static void UseInMemoryScheduler(this IBusFactoryConfigurator configurator) { if (configurator == null) throw new ArgumentNullException(nameof(configurator)); ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); var scheduler = schedulerFactory.GetScheduler(); configurator.ReceiveEndpoint("quartz", e => { var partitioner = configurator.CreatePartitioner(16); e.Consumer(() => new ScheduleMessageConsumer(scheduler), x => x.Message<ScheduleMessage>(m => m.UsePartitioner(partitioner, p => p.Message.CorrelationId))); e.Consumer(() => new CancelScheduledMessageConsumer(scheduler), x => x.Message<CancelScheduledMessage>(m => m.UsePartitioner(partitioner, p => p.Message.TokenId))); configurator.UseMessageScheduler(e.InputAddress); var specification = new SchedulerBusFactorySpecification(scheduler, e.InputAddress); configurator.AddBusFactorySpecification(specification); }); }