diff --git a/src/Quartz.Tests.Unit/Impl/StdSchedulerFactoryTest.cs b/src/Quartz.Tests.Unit/Impl/StdSchedulerFactoryTest.cs index e8cb38479..e19d34aa0 100644 --- a/src/Quartz.Tests.Unit/Impl/StdSchedulerFactoryTest.cs +++ b/src/Quartz.Tests.Unit/Impl/StdSchedulerFactoryTest.cs @@ -114,6 +114,20 @@ public void ShouldAllowInheritingStdSchedulerFactory() StdSchedulerFactory factory = new TestStdSchedulerFactory(collection); } + [Test] + public void ShouldInitializeNamedScheduler() + { + NameValueCollection collection = new NameValueCollection(); + var schedulerName = "namedScheduler"; + collection["quartz.scheduler.instanceName"] = schedulerName; + + var factory = new StdSchedulerFactory(collection); + var scheduler = factory.GetScheduler(schedulerName); + + Assert.IsNotNull(scheduler); + Assert.AreEqual(schedulerName, scheduler.SchedulerName); + } + private class TestStdSchedulerFactory : StdSchedulerFactory { public const string PropertyTest = "quartz.scheduler.test"; diff --git a/src/Quartz/Impl/StdSchedulerFactory.cs b/src/Quartz/Impl/StdSchedulerFactory.cs index d68cc4aa4..605bf7853 100644 --- a/src/Quartz/Impl/StdSchedulerFactory.cs +++ b/src/Quartz/Impl/StdSchedulerFactory.cs @@ -1130,6 +1130,9 @@ public virtual IScheduler GetScheduler() /// public virtual IScheduler GetScheduler(string schedName) { + if (SchedulerName.Equals(schedName)) + return GetScheduler(); + return SchedulerRepository.Instance.Lookup(schedName); } }