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