我有一个带有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”数据。我应该创建一个休眠界面以便在测试时恢复作业吗?