ÎļþÃû´Ó ruoyi/src/main/java/com/ruoyi/framework/config/ScheduleConfig.java ÐÞ¸Ä |
| | |
| | | package com.ruoyi.framework.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; |
| | | |
| | | /** |
| | | * 宿¶ä»»å¡é
ç½® |
| | | * |
| | | * @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.quartz.impl.jdbcjobstore.JobStoreTX"); |
| | | // é群é
ç½® |
| | | 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; |
| | | } |
| | | } |
| | | 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;
|
| | |
|
| | | /**
|
| | | * 宿¶ä»»å¡é
ç½®
|
| | | * |
| | | * @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.quartz.impl.jdbcjobstore.JobStoreTX");
|
| | | // é群é
ç½®
|
| | | 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;
|
| | | }
|
| | | }
|