@Override public void doStart() { // init the scheduler try { Properties properties = new Properties(); properties.setProperty("org.quartz.threadPool.threadCount", scheduleThreadCount + ""); properties.setProperty("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); schedulers = new StdSchedulerFactory(properties); } catch (SchedulerException e) { throw new RuntimeException(e); } // load my jobs Response<List<JobDetail>> jobDetailsResp = jobService.findValidJobsByServer(serverHost.get()); if (!jobDetailsResp.isSuccess()){ Logs.error("failed to load server({})'s jobs, cause: {}", serverHost.get(), jobDetailsResp.getErr()); } try { // initialize all zk jobs scheduleJobs(jobDetailsResp.getData()); // start the scheduler schedulers.getScheduler().start(); } catch (SchedulerException e) { throw new RuntimeException(e); } }