From 9b2072a78f5a21038ba0af281a0b7178664410da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D1=80=D0=B0=D1=81=20=D0=9C=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=B8=D1=87=D1=83=D0=BA?= <Тарас Мельничук> Date: Wed, 4 May 2016 00:15:47 +0300 Subject: [PATCH] Add initialize step for named scheduler --- .../Impl/StdSchedulerFactoryTest.cs | 14 ++++++++++++++ src/Quartz/Impl/StdSchedulerFactory.cs | 3 +++ 2 files changed, 17 insertions(+) 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); } }