public void TestPlugins() { StringBuilder result = new StringBuilder(); IDictionary<string, ISchedulerPlugin> data = new Dictionary<string, ISchedulerPlugin>(); data["TestPlugin"] = new TestPlugin(result); IThreadPool threadPool = new SimpleThreadPool(1, ThreadPriority.Normal); threadPool.Initialize(); DirectSchedulerFactory.Instance.CreateScheduler( "MyScheduler", "Instance1", threadPool, new RAMJobStore(), data, TimeSpan.Zero); IScheduler scheduler = DirectSchedulerFactory.Instance.GetScheduler("MyScheduler"); scheduler.Start(); scheduler.Shutdown(); Assert.AreEqual("TestPlugin|MyScheduler|Start|Shutdown", result.ToString()); }
/// <summary> /// Creates an in memory job store (<see cref="RAMJobStore" />) /// The thread priority is set to Thread.NORM_PRIORITY /// </summary> /// <param name="maxThreads">The number of threads in the thread pool</param> public virtual void CreateVolatileScheduler(int maxThreads) { SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); threadPool.Initialize(); IJobStore jobStore = new RAMJobStore(); CreateScheduler(threadPool, jobStore); }