Properties properties = new Properties();
PropertiesStringWriter.write(properties, "org.quartz.threadPool.threadCount", 1);
PropertiesStringWriter.write(properties, "org.quartz.threadPool.threadPriority", Thread.NORM_PRIORITY);
PropertiesStringWriter.write(properties, "org.quartz.scheduler.skipUpdateCheck", true);
SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
schedulerFactoryBean.setAutoStartup(false);
schedulerFactoryBean.setWaitForJobsToCompleteOnShutdown(false);
schedulerFactoryBean.setQuartzProperties(properties);
schedulerFactoryBean.afterPropertiesSet();
queue = new LinkedBlockingQueue<AutomaticJobExecutionParameters>();
ScheduleJobExecutorService scheduleJobExecutorService = new ScheduleJobExecutorServiceMock(queue);
QzerverJobListener qzerverJobListener = new QzerverJobListener();
qzerverJobListener.setExecutorService(scheduleJobExecutorService);
scheduler = schedulerFactoryBean.getObject();
scheduler.getListenerManager().addJobListener(qzerverJobListener, EverythingMatcher.allJobs());
quartzManagementService = new QuartzManagementServiceImpl();
quartzManagementService.setScheduler(scheduler);
}