| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | //package com.ruoyi.quartz.config;////import org.springframework.context.annotation.Bean;//import org.springframework.context.annotation.Configuration;//import org.springframework.scheduling.quartz.SchedulerFactoryBean;//import javax.sql.DataSource;//import java.util.Properties;/////**// * 定时任务配置(单机部署建议删除此类和qrtz数据库表,默认走内存会最高效)// * // * @author ruoyi// *///@Configuration//public class ScheduleConfig//{//    @Bean//    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource)//    {//        SchedulerFactoryBean factory = new SchedulerFactoryBean();//        factory.setDataSource(dataSource);////        // quartz参数//        Properties prop = new Properties();//        prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler");//        prop.put("org.quartz.scheduler.instanceId", "AUTO");//        // 线程池配置//        prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");//        prop.put("org.quartz.threadPool.threadCount", "20");//        prop.put("org.quartz.threadPool.threadPriority", "5");//        // JobStore配置//        prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore");//        // 集群配置//        prop.put("org.quartz.jobStore.isClustered", "true");//        prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000");//        prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1");//        prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");////        // sqlserver 启用//        // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?");//        prop.put("org.quartz.jobStore.misfireThreshold", "12000");//        prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");//        factory.setQuartzProperties(prop);////        factory.setSchedulerName("RuoyiScheduler");//        // 延时启动//        factory.setStartupDelay(1);//        factory.setApplicationContextSchedulerContextKey("applicationContextKey");//        // 可选,QuartzScheduler//        // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了//        factory.setOverwriteExistingJobs(true);//        // 设置自动启动,默认为true//        factory.setAutoStartup(true);////        return factory;//    }//}
 |