1

我有一个带有Spring Boot的Spring 4应用程序-

没有WEBINF/web.xml文件,但是,我想在应用程序启动时初始化一个Quartz 2.2.1 调度程序。但是,所有使用QuartzInitializerServlet的示例都定义了web.xml文件中的设置。

我可以将这些配置添加到我的应用程序启动配置中吗?

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
        @Bean
public DataSource dataSource() {
    DriverManagerDataSource ds = new DriverManagerDataSource();
    ds.setDriverClassName("org.postgresql.Driver");
    ds.setUrl("jdbc:postgresql://localhost/...");
    ds.setUsername("...");
    ds.setPassword("...!");
    return ds;
}
    /** Add configuration to start Quartz here so 
        I can access it throughout the app? **/ 

@Bean
public org.springframework.scheduling.quartz.SchedulerFactoryBean SchedulerFactoryBean(){
    SchedulerFactoryBean scheduler = new SchedulerFactoryBean();
    scheduler.setAutoStartup(true);
    scheduler.setDataSource(dataSource());
    return scheduler;

}

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

更新

弄清楚了 spring-framework 石英 bean,现在我需要正确实现数据存储以恢复运行之间的作业。

我正在使用 postgresql + spring-data & hibernate。此配置在每次运行时重新初始化数据库。HSQL 也会重新初始化一些“import.sql”数据。我应该创建一个休眠界面以便在测试时恢复作业吗?

4

0 回答 0