protected void init() throws SchedulerException {
// if we don't have a thread pool manager, we use the default thread pool
final ThreadPoolManager tpm = this.threadPoolManager;
if ( tpm == null ) {
final SchedulerFactory factory = new StdSchedulerFactory();
this.scheduler = factory.getScheduler();
} else {
final ThreadPool pool = tpm.get(THREAD_POOL_NAME);
final QuartzThreadPool quartzPool = new QuartzThreadPool(pool);
final DirectSchedulerFactory factory = DirectSchedulerFactory.getInstance();
factory.createScheduler(quartzPool, new RAMJobStore());
this.scheduler = factory.getScheduler();
}
this.scheduler.start();
if ( this.logger.isDebugEnabled() ) {
this.logger.debug("Scheduler started.");
}