Example usage for org.springframework.scheduling.quartz SchedulerFactoryBean setExposeSchedulerInRepository

List of usage examples for org.springframework.scheduling.quartz SchedulerFactoryBean setExposeSchedulerInRepository

Introduction

In this page you can find the example usage for org.springframework.scheduling.quartz SchedulerFactoryBean setExposeSchedulerInRepository.

Prototype

public void setExposeSchedulerInRepository(boolean exposeSchedulerInRepository) 

Source Link

Document

Set whether to expose the Spring-managed Scheduler instance in the Quartz SchedulerRepository .

Usage

From source file:com.github.dbourdette.glass.SpringConfig.java

@Bean
public Scheduler quartzScheduler(ApplicationContext context) throws Exception {
    SchedulerFactoryBean factory = new SchedulerFactoryBean();

    factory.setApplicationContext(context);
    factory.setExposeSchedulerInRepository(true);
    factory.setApplicationContextSchedulerContextKey(APPLICATION_CONTEXT_KEY);
    factory.setJobFactory(glassJobFactory);

    Properties properties = new Properties();
    properties.setProperty("org.quartz.threadPool.class", SimpleThreadPool.class.getName());
    properties.setProperty("org.quartz.threadPool.threadCount", "15");
    properties.setProperty("org.quartz.threadPool.threadPriority", "4");

    if (configuration().isInMemory()) {
        properties.setProperty("org.quartz.jobStore.class", RAMJobStore.class.getName());
    } else {/*w w  w.  jav a  2 s .c  o  m*/
        factory.setDataSource(dataSource());

        properties.setProperty("org.quartz.jobStore.tablePrefix", configuration().getTablePrefix());
        properties.setProperty("org.quartz.jobStore.isClustered", "false");
        properties.setProperty("org.quartz.jobStore.driverDelegateClass",
                configuration().getDriverDelegateClass());
    }

    factory.setQuartzProperties(properties);

    factory.afterPropertiesSet();

    Scheduler scheduler = factory.getObject();

    scheduler.getListenerManager().addJobListener(glassJobListener);
    scheduler.getListenerManager().addSchedulerListener(glassSchedulerListener);

    scheduler.start();

    return scheduler;
}