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 の Quartz Bean を理解したら、データストアを正しく実装して、実行の合間にジョブを復元する必要があります。

私はpostgresql + spring-data & hibernateを使用しています。この構成では、実行のたびにデータベースが再初期化されます。HSQL は、一部の「import.sql」データも再初期化します。テスト時にジョブが復元されるように、休止状態のインターフェイスを作成する必要がありますか?

4

0 に答える 0