From 8504878c6fd0f8639a38ef72d8b750fd6f5ebf70 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 19 十二月 2025 13:41:48 +0800
Subject: [PATCH] yys 定时任务持久化
---
src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java | 22 +---------------------
src/main/java/com/ruoyi/project/monitor/service/impl/SysJobServiceImpl.java | 2 +-
src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduler.java | 11 +++++------
3 files changed, 7 insertions(+), 28 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 3d7bf6f..1bee9b2 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/QuartzConfig.java
@@ -1,7 +1,6 @@
package com.ruoyi.inspectiontask.service.impl;
-import org.quartz.JobDataMap;
-import org.quartz.Scheduler;
+import org.quartz.*;
import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
@@ -24,25 +23,6 @@
// 鍋囪宸查厤缃悕涓篸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() {
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduler.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduler.java
index e76e62e..2ff2e7e 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduler.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskScheduler.java
@@ -31,7 +31,7 @@
* 鏇存柊宸叉湁浠诲姟
*/
public void rescheduleTimingTask(TimingTask task) throws SchedulerException {
- TriggerKey triggerKey = new TriggerKey("trigger_" + task.getId(), "TIMING_TASK_TRIGGER_GROUP");
+ TriggerKey triggerKey = new TriggerKey("trigger_" + task.getId());
// 鑾峰彇鐜版湁瑙﹀彂鍣ㄥ苟杞崲涓� CronTrigger
Trigger oldTrigger = scheduler.getTrigger(triggerKey);
@@ -91,7 +91,7 @@
private JobDetail buildJobDetail(TimingTask task) {
// 1. 鏋勫缓鍞竴JobKey锛堝熀浜庝换鍔D锛岀‘淇濋噸鍚悗鑳借瘑鍒級
- JobKey jobKey = new JobKey("timingTask_" + task.getId(), "TIMING_TASK_GROUP");
+ JobKey jobKey = new JobKey("timingTask_" + task.getId());
// 2. 灏佽浠诲姟鏁版嵁锛堜粎浣跨敤鍩烘湰绫诲瀷锛岀‘淇濆彲搴忓垪鍖栵級
JobDataMap jobDataMap = new JobDataMap();
@@ -105,20 +105,20 @@
.withIdentity(jobKey) // 鍞竴鏍囪瘑锛岀敤浜庢寔涔呭寲瀛樺偍
.withDescription(task.getTaskName()) // 浠诲姟鎻忚堪锛屽瓨鍏ユ暟鎹簱
.usingJobData(jobDataMap) // 缁戝畾浠诲姟鏁版嵁
- .storeDurably() // 鍗充娇娌℃湁瑙﹀彂鍣ㄥ叧鑱斾篃鎸佷箙鍖栦繚瀛�
+ .storeDurably(true) // 鍗充娇娌℃湁瑙﹀彂鍣ㄥ叧鑱斾篃鎸佷箙鍖栦繚瀛�
.requestRecovery(true) // 褰撹皟搴﹀櫒宕╂簝鍚庢仮澶嶆椂锛岄噸鏂版墽琛屾湭瀹屾垚鐨勪换鍔�
.build();
}
private Trigger buildJobTrigger(TimingTask task, JobDetail jobDetail) {
// 1. 鏋勫缓鍞竴TriggerKey锛堝熀浜庝换鍔D锛�
- TriggerKey triggerKey = new TriggerKey("trigger_" + task.getId(), "TIMING_TASK_TRIGGER_GROUP");
+ TriggerKey triggerKey = new TriggerKey("trigger_" + task.getId());
// 2. 鐢熸垚Cron琛ㄨ揪寮忥紙鍘熼�昏緫涓嶅彉锛�
String cronExpression = convertToCronExpression(task);
// 3. 鏋勫缓CronTrigger锛岀‘淇濇寔涔呭寲閰嶇疆
- CronTrigger trigger = TriggerBuilder.newTrigger()
+ return TriggerBuilder.newTrigger()
.withIdentity(triggerKey) // 鍞竴鏍囪瘑锛岀敤浜庢寔涔呭寲瀛樺偍
.withDescription(task.getTaskName() + "_TRIGGER") // 瑙﹀彂鍣ㄦ弿杩�
.forJob(jobDetail) // 鍏宠仈瀵瑰簲鐨凧ob
@@ -131,7 +131,6 @@
? Date.from(task.getNextExecutionTime().atZone(ZoneId.systemDefault()).toInstant())
: new Date())
.build();
- return trigger;
}
private String convertToCronExpression(TimingTask task) {
// 鍙傛暟鏍¢獙
diff --git a/src/main/java/com/ruoyi/project/monitor/service/impl/SysJobServiceImpl.java b/src/main/java/com/ruoyi/project/monitor/service/impl/SysJobServiceImpl.java
index fb2191e..2db6b22 100644
--- a/src/main/java/com/ruoyi/project/monitor/service/impl/SysJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/monitor/service/impl/SysJobServiceImpl.java
@@ -37,7 +37,7 @@
@PostConstruct
public void init() throws SchedulerException, TaskException
{
- scheduler.clear();
+// scheduler.clear();
List<SysJob> jobList = jobMapper.selectJobAll();
for (SysJob job : jobList)
{
--
Gitblit v1.9.3