From a78fb9a836c51b5b569b2c7da32d4d2fc2b58925 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 19 十二月 2025 10:41:41 +0800
Subject: [PATCH] yys 数据持久化
---
src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java
index da332f1..3d7bf6f 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java
@@ -1,5 +1,7 @@
package com.ruoyi.inspectiontask.service.impl;
+import org.quartz.JobDataMap;
+import org.quartz.Scheduler;
import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
@@ -7,13 +9,40 @@
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.scheduling.quartz.JobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.scheduling.quartz.SpringBeanJobFactory;
+
+import javax.sql.DataSource;
@Configuration
public class QuartzConfig {
@Autowired
private ApplicationContext applicationContext;
+
+ // 鍋囪宸查厤缃悕涓篸ataSource鐨勬暟鎹簮Bean
+ @Autowired
+ private DataSource dataSource;
+
+ @Bean
+ public JobDetailFactoryBean jobDetail() {
+ JobDetailFactoryBean factory = new JobDetailFactoryBean();
+ factory.setJobClass(TimingTaskJob.class); // 浣犵殑鑷畾涔� Job 绫伙紙闇�瀹炵幇 Job 鎺ュ彛锛�
+
+ // 1. 鏍稿績锛氳缃负鎸佷箙鍖栦换鍔★紙蹇呴』锛屽惁鍒欎笉鍐欏叆 qrtz_job_details 鎴栭噸鍚竻鐞嗭級
+ factory.setDurability(true);
+
+ // 2. 鍙�夛細浠诲姟鎵ц宕╂簝鍚庯紝閲嶅惎鏃舵槸鍚︽仮澶嶆墽琛岋紙寤鸿寮�鍚級
+ factory.setRequestsRecovery(true);
+
+// // 3. 鍙�夛細璁剧疆 JobDataMap锛堣嫢闇�浼犻�掑弬鏁帮紝鍙傛暟闇�鍙簭鍒楀寲锛�
+// JobDataMap jobDataMap = new JobDataMap();
+// jobDataMap.put("key", "value"); // 绀轰緥鍙傛暟锛堣嫢鍙傛暟鏄嚜瀹氫箟瀵硅薄锛岄渶瀹炵幇 Serializable锛�
+// factory.setJobDataMap(jobDataMap);
+
+ return factory;
+ }
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
@@ -24,10 +53,17 @@
jobFactory.setApplicationContext(applicationContext);
schedulerFactory.setJobFactory(jobFactory);
+ // 鍦╯chedulerFactoryBean()鏂规硶涓坊鍔�
+ schedulerFactory.setDataSource(dataSource);
// 鍏朵粬閰嶇疆...
return schedulerFactory;
}
+ @Bean
+ public Scheduler scheduler() {
+ return schedulerFactoryBean().getScheduler();
+ }
+
// 鑷畾涔塉obFactory锛屾敮鎸佽嚜鍔ㄦ敞鍏�
public static class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory
implements ApplicationContextAware {
--
Gitblit v1.9.3