記錄一次整合Quartz部署Tomcat關閉時出現OOM
/**
* 在配置文件中增加factory.setWaitForJobsToCompleteOnShutdown(true);配置使關閉tomcat時等待執行的線程全部關閉
* SchedulerFactoryBean這個類的真正作用提供了對org.quartz.Scheduler的創建與配置,並且會管理它的生命週期與Spring同步
* org.quartz.Scheduler: 調度器。所有的調度都是由它控制
* @param jobFactory 爲SchedulerFactory配置JobFactory
* @param dataSource 爲SchedulerFactory配置數據源
* @param transactionManager 事務管理器
* @return
* @throws IOException
*/
@Bean
public SchedulerFactoryBean schedulerFactoryBean(JobFactory jobFactory, DataSource dataSource, PlatformTransactionManager transactionManager) throws IOException {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
//設置自行啓動
factory.setAutoStartup(true);
//可選,QuartzScheduler啓動時更新己存在的Job,這樣就不用每次修改targetObject後刪除qrtz_job_details表對應記錄
factory.setOverwriteExistingJobs(true);
factory.setJobFactory(jobFactory);
factory.setQuartzProperties(quartzProperties());
//集羣版配置
factory.setDataSource(dataSource);
factory.setTransactionManager(transactionManager);
//設置自動銷燬
factory.setWaitForJobsToCompleteOnShutdown(true);
return factory;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.