From 95dcae1a85615e42fc9cb8d30f46f376977f8936 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 03 十一月 2021 14:46:12 +0800 Subject: [PATCH] remove 移除 quartz 相关代码与依赖 --- /dev/null | 174 ------------------------------------------- ruoyi-admin/pom.xml | 6 - ruoyi-admin/src/main/resources/spy.properties | 2 ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java | 9 -- pom.xml | 8 -- ruoyi-admin/src/main/resources/application.yml | 31 ------- 6 files changed, 0 insertions(+), 230 deletions(-) diff --git a/pom.xml b/pom.xml index c5da827..c18418c 100644 --- a/pom.xml +++ b/pom.xml @@ -257,13 +257,6 @@ <version>${tlog.version}</version> </dependency> - <!-- 瀹氭椂浠诲姟 @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job --> - <dependency> - <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-quartz</artifactId> - <version>${ruoyi-vue-plus.version}</version> - </dependency> - <!-- 瀹氭椂浠诲姟 --> <dependency> <groupId>com.ruoyi</groupId> @@ -320,7 +313,6 @@ <module>ruoyi-admin</module> <module>ruoyi-framework</module> <module>ruoyi-system</module> - <module>ruoyi-quartz</module> <module>ruoyi-job</module> <module>ruoyi-generator</module> <module>ruoyi-common</module> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 9ec68cd..b736a42 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -41,12 +41,6 @@ <artifactId>ruoyi-system</artifactId> </dependency> - <!-- 瀹氭椂浠诲姟 @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job --> -<!-- <dependency>--> -<!-- <groupId>com.ruoyi</groupId>--> -<!-- <artifactId>ruoyi-quartz</artifactId>--> -<!-- </dependency>--> - <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-job</artifactId> diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 360c201..7acd7ef 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -293,34 +293,3 @@ endpoint: logfile: external-file: ./logs/sys-console.log - ---- # 瀹氭椂浠诲姟閰嶇疆 -spring: - quartz: - scheduler-name: RuoyiScheduler - startup-delay: 1s - overwrite-existing-jobs: true - auto-startup: true - job-store-type: jdbc - properties: - org: - quartz: - # Scheduler 鐩稿叧閰嶇疆 - scheduler: - instanceName: RuoyiScheduler - instanceId: AUTO - # 绾跨▼姹犵浉鍏抽厤缃� - threadPool: - class: org.quartz.simpl.SimpleThreadPool - threadCount: 20 - threadPriority: 5 - # JobStore 闆嗙兢閰嶇疆 - jobStore: - class: org.quartz.impl.jdbcjobstore.JobStoreTX - isClustered: true - clusterCheckinInterval: 15000 - txIsolationLevelSerializable: true - misfireThreshold: 60000 - tablePrefix: QRTZ_ - # sqlserver 鍚敤 - # selectWithLockSQL: SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ? diff --git a/ruoyi-admin/src/main/resources/spy.properties b/ruoyi-admin/src/main/resources/spy.properties index 0ed983b..918f1cb 100644 --- a/ruoyi-admin/src/main/resources/spy.properties +++ b/ruoyi-admin/src/main/resources/spy.properties @@ -22,5 +22,3 @@ outagedetectioninterval=2 # 鏄惁杩囨护 Log filter=true -# 杩囨护 Log 鏃舵墍鎺掗櫎鐨勮〃鍚嶅垪琛紝浠ラ�楀彿鍒嗛殧 -exclude=QRTZ_ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java index 6d83fe3..9c91a1a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java @@ -133,13 +133,4 @@ */ public static final String SYS_DICT_KEY = "sys_dict:"; - /** - * RMI 杩滅▼鏂规硶璋冪敤 - */ - public static final String LOOKUP_RMI = "rmi://"; - - /** - * LDAP 杩滅▼鏂规硶璋冪敤 - */ - public static final String LOOKUP_LDAP = "ldap://"; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java deleted file mode 100644 index ec430c2..0000000 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.ruoyi.common.constant; - -/** - * 浠诲姟璋冨害閫氱敤甯搁噺 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public class ScheduleConstants -{ - public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; - - /** 鎵ц鐩爣key */ - public static final String TASK_PROPERTIES = "TASK_PROPERTIES"; - - /** 榛樿 */ - public static final String MISFIRE_DEFAULT = "0"; - - /** 绔嬪嵆瑙﹀彂鎵ц */ - public static final String MISFIRE_IGNORE_MISFIRES = "1"; - - /** 瑙﹀彂涓�娆℃墽琛� */ - public static final String MISFIRE_FIRE_AND_PROCEED = "2"; - - /** 涓嶈Е鍙戠珛鍗虫墽琛� */ - public static final String MISFIRE_DO_NOTHING = "3"; - - public enum Status - { - /** - * 姝e父 - */ - NORMAL("0"), - /** - * 鏆傚仠 - */ - PAUSE("1"); - - private String value; - - private Status(String value) - { - this.value = value; - } - - public String getValue() - { - return value; - } - } -} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java b/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java deleted file mode 100644 index 59ea3a6..0000000 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.ruoyi.common.exception.job; - -/** - * 璁″垝绛栫暐寮傚父 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public class TaskException extends Exception -{ - private static final long serialVersionUID = 1L; - - private Code code; - - public TaskException(String msg, Code code) - { - this(msg, code, null); - } - - public TaskException(String msg, Code code, Exception nestedEx) - { - super(msg, nestedEx); - this.code = code; - } - - public Code getCode() - { - return code; - } - - public enum Code - { - TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE - } -} \ No newline at end of file diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml deleted file mode 100644 index 1480b81..0000000 --- a/ruoyi-quartz/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ruoyi-vue-plus</artifactId> - <groupId>com.ruoyi</groupId> - <version>3.3.0</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>ruoyi-quartz</artifactId> - - <description> - quartz瀹氭椂浠诲姟 - </description> - - <dependencies> - - <!-- 瀹氭椂浠诲姟 --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-quartz</artifactId> - <exclusions> - <exclusion> - <groupId>com.mchange</groupId> - <artifactId>c3p0</artifactId> - </exclusion> - </exclusions> - </dependency> - - <!-- 閫氱敤宸ュ叿--> - <dependency> - <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-common</artifactId> - </dependency> - - </dependencies> - -</project> diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java deleted file mode 100644 index c5fa2ec..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.quartz.config; - -import org.springframework.context.annotation.Configuration; - -/** - * 瀹氭椂浠诲姟閰嶇疆 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author Lion Li - */ -@Deprecated -@Configuration -public class ScheduleConfig { - -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java deleted file mode 100644 index 58efca7..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.ruoyi.quartz.controller; - -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.service.ISysJobService; -import com.ruoyi.quartz.util.CronUtils; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 璋冨害浠诲姟淇℃伅鎿嶄綔澶勭悊 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -@RestController -@RequestMapping("/monitor/job") -public class SysJobController extends BaseController -{ - @Autowired - private ISysJobService jobService; - - /** - * 鏌ヨ瀹氭椂浠诲姟鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:list')") - @GetMapping("/list") - public TableDataInfo list(SysJob sysJob) - { - return jobService.selectPageJobList(sysJob); - } - - /** - * 瀵煎嚭瀹氭椂浠诲姟鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:export')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public void export(SysJob sysJob, HttpServletResponse response) - { - List<SysJob> list = jobService.selectJobList(sysJob); - ExcelUtil.exportExcel(list, "瀹氭椂浠诲姟", SysJob.class, response); - } - - /** - * 鑾峰彇瀹氭椂浠诲姟璇︾粏淇℃伅 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:query')") - @GetMapping(value = "/{jobId}") - public AjaxResult getInfo(@PathVariable("jobId") Long jobId) - { - return AjaxResult.success(jobService.selectJobById(jobId)); - } - - /** - * 鏂板瀹氭椂浠诲姟 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:add')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(job.getCronExpression())) - { - return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛孋ron琛ㄨ揪寮忎笉姝g‘"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) - { - return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi://'璋冪敤"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_LDAP)) - { - return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'ldap://'璋冪敤"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) - { - return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)//'璋冪敤"); - } - job.setCreateBy(getUsername()); - return toAjax(jobService.insertJob(job)); - } - - /** - * 淇敼瀹氭椂浠诲姟 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:edit')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(job.getCronExpression())) - { - return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛孋ron琛ㄨ揪寮忎笉姝g‘"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) - { - return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi://'璋冪敤"); - } - else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_LDAP)) - { - return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'ldap://'璋冪敤"); - } - else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) - { - return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)//'璋冪敤"); - } - job.setUpdateBy(getUsername()); - return toAjax(jobService.updateJob(job)); - } - - /** - * 瀹氭椂浠诲姟鐘舵�佷慨鏀� - */ - @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException - { - SysJob newJob = jobService.selectJobById(job.getJobId()); - newJob.setStatus(job.getStatus()); - return toAjax(jobService.changeStatus(newJob)); - } - - /** - * 瀹氭椂浠诲姟绔嬪嵆鎵ц涓�娆� - */ - @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE) - @PutMapping("/run") - public AjaxResult run(@RequestBody SysJob job) throws SchedulerException - { - jobService.run(job); - return AjaxResult.success(); - } - - /** - * 鍒犻櫎瀹氭椂浠诲姟 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobIds}") - public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException - { - jobService.deleteJobByIds(jobIds); - return AjaxResult.success(); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java deleted file mode 100644 index f568d65..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.ruoyi.quartz.controller; - -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.service.ISysJobLogService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 璋冨害鏃ュ織鎿嶄綔澶勭悊 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -@RestController -@RequestMapping("/monitor/jobLog") -public class SysJobLogController extends BaseController -{ - @Autowired - private ISysJobLogService jobLogService; - - /** - * 鏌ヨ瀹氭椂浠诲姟璋冨害鏃ュ織鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:list')") - @GetMapping("/list") - public TableDataInfo list(SysJobLog sysJobLog) - { - return jobLogService.selectPageJobLogList(sysJobLog); - } - - /** - * 瀵煎嚭瀹氭椂浠诲姟璋冨害鏃ュ織鍒楄〃 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:export')") - @Log(title = "浠诲姟璋冨害鏃ュ織", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public void export(SysJobLog sysJobLog, HttpServletResponse response) - { - List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog); - ExcelUtil.exportExcel(list, "璋冨害鏃ュ織", SysJobLog.class, response); - } - - /** - * 鏍规嵁璋冨害缂栧彿鑾峰彇璇︾粏淇℃伅 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:query')") - @GetMapping(value = "/{configId}") - public AjaxResult getInfo(@PathVariable Long jobLogId) - { - return AjaxResult.success(jobLogService.selectJobLogById(jobLogId)); - } - - - /** - * 鍒犻櫎瀹氭椂浠诲姟璋冨害鏃ュ織 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "瀹氭椂浠诲姟璋冨害鏃ュ織", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobLogIds}") - public AjaxResult remove(@PathVariable Long[] jobLogIds) - { - return toAjax(jobLogService.deleteJobLogByIds(jobLogIds)); - } - - /** - * 娓呯┖瀹氭椂浠诲姟璋冨害鏃ュ織 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "璋冨害鏃ュ織", businessType = BusinessType.CLEAN) - @DeleteMapping("/clean") - public AjaxResult clean() - { - jobLogService.cleanJobLog(); - return AjaxResult.success(); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java deleted file mode 100644 index ee15e55..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.ruoyi.quartz.domain; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.ExcelDictFormat; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.convert.ExcelDictConvert; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.quartz.util.CronUtils; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import java.io.Serializable; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -/** - * 瀹氭椂浠诲姟璋冨害琛� sys_job - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ - -@Data -@NoArgsConstructor -@Accessors(chain = true) -@TableName("sys_job") -@ExcelIgnoreUnannotated -public class SysJob implements Serializable { - private static final long serialVersionUID = 1L; - - /** - * 浠诲姟ID - */ - @ExcelProperty(value = "浠诲姟搴忓彿") - @TableId(value = "job_id", type = IdType.AUTO) - private Long jobId; - - /** - * 浠诲姟鍚嶇О - */ - @NotBlank(message = "浠诲姟鍚嶇О涓嶈兘涓虹┖") - @Size(min = 0, max = 64, message = "浠诲姟鍚嶇О涓嶈兘瓒呰繃64涓瓧绗�") - @ExcelProperty(value = "浠诲姟鍚嶇О") - private String jobName; - - /** - * 浠诲姟缁勫悕 - */ - @ExcelProperty(value = "浠诲姟缁勫悕", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_job_group") - private String jobGroup; - - /** - * 璋冪敤鐩爣瀛楃涓� - */ - @NotBlank(message = "璋冪敤鐩爣瀛楃涓蹭笉鑳戒负绌�") - @Size(min = 0, max = 500, message = "璋冪敤鐩爣瀛楃涓查暱搴︿笉鑳借秴杩�500涓瓧绗�") - @ExcelProperty(value = "璋冪敤鐩爣瀛楃涓�") - private String invokeTarget; - - /** - * cron鎵ц琛ㄨ揪寮� - */ - @NotBlank(message = "Cron鎵ц琛ㄨ揪寮忎笉鑳戒负绌�") - @Size(min = 0, max = 255, message = "Cron鎵ц琛ㄨ揪寮忎笉鑳借秴杩�255涓瓧绗�") - @ExcelProperty(value = "鎵ц琛ㄨ揪寮�") - private String cronExpression; - - /** - * cron璁″垝绛栫暐 - */ - @ExcelProperty(value = "璁″垝绛栫暐 ", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "0=榛樿,1=绔嬪嵆瑙﹀彂鎵ц,2=瑙﹀彂涓�娆℃墽琛�,3=涓嶈Е鍙戠珛鍗虫墽琛�") - private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; - - /** - * 鏄惁骞跺彂鎵ц锛�0鍏佽 1绂佹锛� - */ - @ExcelProperty(value = "骞跺彂鎵ц", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "0=鍏佽,1=绂佹") - private String concurrent; - - /** - * 浠诲姟鐘舵�侊紙0姝e父 1鏆傚仠锛� - */ - @ExcelProperty(value = "浠诲姟鐘舵��", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_job_status") - private String status; - - /** - * 鍒涘缓鑰� - */ - @TableField(fill = FieldFill.INSERT) - private String createBy; - - /** - * 鍒涘缓鏃堕棿 - */ - @TableField(fill = FieldFill.INSERT) - private Date createTime; - - /** - * 鏇存柊鑰� - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; - - /** - * 鏇存柊鏃堕棿 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateTime; - - /** - * 澶囨敞 - */ - private String remark; - - /** - * 璇锋眰鍙傛暟 - */ - @TableField(exist = false) - private Map<String, Object> params = new HashMap<>(); - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - public Date getNextValidTime() { - if (StringUtils.isNotEmpty(cronExpression)) { - return CronUtils.getNextExecution(cronExpression); - } - return null; - } - -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java deleted file mode 100644 index 2ea63df..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.ruoyi.quartz.domain; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.*; -import com.ruoyi.common.annotation.ExcelDictFormat; -import com.ruoyi.common.convert.ExcelDictConvert; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -/** - * 瀹氭椂浠诲姟璋冨害鏃ュ織琛� sys_job_log - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ - -@Data -@NoArgsConstructor -@Accessors(chain = true) -@TableName("sys_job_log") -@ExcelIgnoreUnannotated -public class SysJobLog -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @ExcelProperty(value = "鏃ュ織搴忓彿") - @TableId(value = "job_log_id", type = IdType.AUTO) - private Long jobLogId; - - /** 浠诲姟鍚嶇О */ - @ExcelProperty(value = "浠诲姟鍚嶇О") - private String jobName; - - /** 浠诲姟缁勫悕 */ - @ExcelProperty(value = "浠诲姟缁勫悕", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_job_group") - private String jobGroup; - - /** 璋冪敤鐩爣瀛楃涓� */ - @ExcelProperty(value = "璋冪敤鐩爣瀛楃涓�") - private String invokeTarget; - - /** 鏃ュ織淇℃伅 */ - @ExcelProperty(value = "鏃ュ織淇℃伅") - private String jobMessage; - - /** 鎵ц鐘舵�侊紙0姝e父 1澶辫触锛� */ - @ExcelProperty(value = "鎵ц鐘舵��", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_common_status") - private String status; - - /** 寮傚父淇℃伅 */ - @ExcelProperty(value = "寮傚父淇℃伅") - private String exceptionInfo; - - /** - * 鍒涘缓鏃堕棿 - */ - @TableField(fill = FieldFill.INSERT) - private Date createTime; - - /** - * 璇锋眰鍙傛暟 - */ - @TableField(exist = false) - private Map<String, Object> params = new HashMap<>(); - - /** 寮�濮嬫椂闂� */ - @TableField(exist = false) - private Date startTime; - - /** 鍋滄鏃堕棿 */ - @TableField(exist = false) - private Date stopTime; - -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java deleted file mode 100644 index 0bffa11..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.quartz.mapper; - -import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; -import com.ruoyi.quartz.domain.SysJobLog; - -/** - * 璋冨害浠诲姟鏃ュ織淇℃伅 鏁版嵁灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public interface SysJobLogMapper extends BaseMapperPlus<SysJobLog> { - -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java deleted file mode 100644 index 13f2da7..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.quartz.mapper; - -import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 璋冨害浠诲姟淇℃伅 鏁版嵁灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public interface SysJobMapper extends BaseMapperPlus<SysJob> { - -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java deleted file mode 100644 index ff8451a..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ruoyi.quartz.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.quartz.domain.SysJobLog; - -import java.util.List; - -/** - * 瀹氭椂浠诲姟璋冨害鏃ュ織淇℃伅淇℃伅 鏈嶅姟灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public interface ISysJobLogService extends IService<SysJobLog> { - - - TableDataInfo<SysJobLog> selectPageJobLogList(SysJobLog jobLog); - - /** - * 鑾峰彇quartz璋冨害鍣ㄦ棩蹇楃殑璁″垝浠诲姟 - * - * @param jobLog 璋冨害鏃ュ織淇℃伅 - * @return 璋冨害浠诲姟鏃ュ織闆嗗悎 - */ - public List<SysJobLog> selectJobLogList(SysJobLog jobLog); - - /** - * 閫氳繃璋冨害浠诲姟鏃ュ織ID鏌ヨ璋冨害淇℃伅 - * - * @param jobLogId 璋冨害浠诲姟鏃ュ織ID - * @return 璋冨害浠诲姟鏃ュ織瀵硅薄淇℃伅 - */ - public SysJobLog selectJobLogById(Long jobLogId); - - /** - * 鏂板浠诲姟鏃ュ織 - * - * @param jobLog 璋冨害鏃ュ織淇℃伅 - */ - public void addJobLog(SysJobLog jobLog); - - /** - * 鎵归噺鍒犻櫎璋冨害鏃ュ織淇℃伅 - * - * @param logIds 闇�瑕佸垹闄ょ殑鏃ュ織ID - * @return 缁撴灉 - */ - public int deleteJobLogByIds(Long[] logIds); - - /** - * 鍒犻櫎浠诲姟鏃ュ織 - * - * @param jobId 璋冨害鏃ュ織ID - * @return 缁撴灉 - */ - public int deleteJobLogById(Long jobId); - - /** - * 娓呯┖浠诲姟鏃ュ織 - */ - public void cleanJobLog(); -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java deleted file mode 100644 index cbe4621..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.ruoyi.quartz.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.quartz.domain.SysJob; -import org.quartz.SchedulerException; - -import java.util.List; - -/** - * 瀹氭椂浠诲姟璋冨害淇℃伅淇℃伅 鏈嶅姟灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public interface ISysJobService extends IService<SysJob> { - /** - * 鑾峰彇quartz璋冨害鍣ㄧ殑璁″垝浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 璋冨害浠诲姟闆嗗悎 - */ - public TableDataInfo<SysJob> selectPageJobList(SysJob job); - - public List<SysJob> selectJobList(SysJob job); - - /** - * 閫氳繃璋冨害浠诲姟ID鏌ヨ璋冨害淇℃伅 - * - * @param jobId 璋冨害浠诲姟ID - * @return 璋冨害浠诲姟瀵硅薄淇℃伅 - */ - public SysJob selectJobById(Long jobId); - - /** - * 鏆傚仠浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int pauseJob(SysJob job) throws SchedulerException; - - /** - * 鎭㈠浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int resumeJob(SysJob job) throws SchedulerException; - - /** - * 鍒犻櫎浠诲姟鍚庯紝鎵�瀵瑰簲鐨則rigger涔熷皢琚垹闄� - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int deleteJob(SysJob job) throws SchedulerException; - - /** - * 鎵归噺鍒犻櫎璋冨害淇℃伅 - * - * @param jobIds 闇�瑕佸垹闄ょ殑浠诲姟ID - * @return 缁撴灉 - */ - public void deleteJobByIds(Long[] jobIds) throws SchedulerException; - - /** - * 浠诲姟璋冨害鐘舵�佷慨鏀� - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int changeStatus(SysJob job) throws SchedulerException; - - /** - * 绔嬪嵆杩愯浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public void run(SysJob job) throws SchedulerException; - - /** - * 鏂板浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int insertJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 鏇存柊浠诲姟 - * - * @param job 璋冨害淇℃伅 - * @return 缁撴灉 - */ - public int updateJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 鏍¢獙cron琛ㄨ揪寮忔槸鍚︽湁鏁� - * - * @param cronExpression 琛ㄨ揪寮� - * @return 缁撴灉 - */ - public boolean checkCronExpressionIsValid(String cronExpression); -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java deleted file mode 100644 index 76edb49..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.ruoyi.quartz.service.impl; - -import com.ruoyi.common.utils.StringUtils; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.mapper.SysJobLogMapper; -import com.ruoyi.quartz.service.ISysJobLogService; -import org.springframework.stereotype.Service; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 瀹氭椂浠诲姟璋冨害鏃ュ織淇℃伅 鏈嶅姟灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -@Service -public class SysJobLogServiceImpl extends ServicePlusImpl<SysJobLogMapper, SysJobLog, SysJobLog> implements ISysJobLogService { - - @Override - public TableDataInfo<SysJobLog> selectPageJobLogList(SysJobLog jobLog) { - Map<String, Object> params = jobLog.getParams(); - LambdaQueryWrapper<SysJobLog> lqw = new LambdaQueryWrapper<SysJobLog>() - .like(StringUtils.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName()) - .eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup()) - .eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus()) - .like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget()) - .apply(StringUtils.isNotEmpty(params.get("beginTime")), - "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')", - params.get("beginTime")) - .apply(StringUtils.isNotEmpty(params.get("endTime")), - "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", - params.get("endTime")); - return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); - } - - /** - * 鑾峰彇quartz璋冨害鍣ㄦ棩蹇楃殑璁″垝浠诲姟 - * - * @param jobLog 璋冨害鏃ュ織淇℃伅 - * @return 璋冨害浠诲姟鏃ュ織闆嗗悎 - */ - @Override - public List<SysJobLog> selectJobLogList(SysJobLog jobLog) { - Map<String, Object> params = jobLog.getParams(); - return list(new LambdaQueryWrapper<SysJobLog>() - .like(StringUtils.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName()) - .eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup()) - .eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus()) - .like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget()) - .apply(StringUtils.isNotEmpty(params.get("beginTime")), - "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')", - params.get("beginTime")) - .apply(StringUtils.isNotEmpty(params.get("endTime")), - "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", - params.get("endTime"))); - } - - /** - * 閫氳繃璋冨害浠诲姟鏃ュ織ID鏌ヨ璋冨害淇℃伅 - * - * @param jobLogId 璋冨害浠诲姟鏃ュ織ID - * @return 璋冨害浠诲姟鏃ュ織瀵硅薄淇℃伅 - */ - @Override - public SysJobLog selectJobLogById(Long jobLogId) { - return getById(jobLogId); - } - - /** - * 鏂板浠诲姟鏃ュ織 - * - * @param jobLog 璋冨害鏃ュ織淇℃伅 - */ - @Override - public void addJobLog(SysJobLog jobLog) { - baseMapper.insert(jobLog); - } - - /** - * 鎵归噺鍒犻櫎璋冨害鏃ュ織淇℃伅 - * - * @param logIds 闇�瑕佸垹闄ょ殑鏁版嵁ID - * @return 缁撴灉 - */ - @Override - public int deleteJobLogByIds(Long[] logIds) { - return baseMapper.deleteBatchIds(Arrays.asList(logIds)); - } - - /** - * 鍒犻櫎浠诲姟鏃ュ織 - * - * @param jobId 璋冨害鏃ュ織ID - */ - @Override - public int deleteJobLogById(Long jobId) { - return baseMapper.deleteById(jobId); - } - - /** - * 娓呯┖浠诲姟鏃ュ織 - */ - @Override - public void cleanJobLog() { - remove(new LambdaQueryWrapper<>()); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java deleted file mode 100644 index 6962cf1..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java +++ /dev/null @@ -1,247 +0,0 @@ -package com.ruoyi.quartz.service.impl; - -import com.ruoyi.common.utils.StringUtils; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.mapper.SysJobMapper; -import com.ruoyi.quartz.service.ISysJobService; -import com.ruoyi.quartz.util.CronUtils; -import com.ruoyi.quartz.util.ScheduleUtils; -import org.quartz.JobDataMap; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.PostConstruct; -import java.util.List; - -/** - * 瀹氭椂浠诲姟璋冨害淇℃伅 鏈嶅姟灞� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -@Service -public class SysJobServiceImpl extends ServicePlusImpl<SysJobMapper, SysJob, SysJob> implements ISysJobService { - @Autowired - private Scheduler scheduler; - - /** - * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧畾鏃跺櫒 涓昏鏄槻姝㈡墜鍔ㄤ慨鏀规暟鎹簱瀵艰嚧鏈悓姝ュ埌瀹氭椂浠诲姟澶勭悊锛堟敞锛氫笉鑳芥墜鍔ㄤ慨鏀规暟鎹簱ID鍜屼换鍔$粍鍚嶏紝鍚﹀垯浼氬鑷磋剰鏁版嵁锛� - */ - @PostConstruct - public void init() throws SchedulerException, TaskException { - scheduler.clear(); - List<SysJob> jobList = list(); - for (SysJob job : jobList) { - ScheduleUtils.createScheduleJob(scheduler, job); - } - } - - @Override - public TableDataInfo<SysJob> selectPageJobList(SysJob job) { - LambdaQueryWrapper<SysJob> lqw = new LambdaQueryWrapper<SysJob>() - .like(StringUtils.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName()) - .eq(StringUtils.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup()) - .eq(StringUtils.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus()) - .like(StringUtils.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget()); - return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); - } - - /** - * 鑾峰彇quartz璋冨害鍣ㄧ殑璁″垝浠诲姟鍒楄〃 - * - * @param job 璋冨害淇℃伅 - * @return - */ - @Override - public List<SysJob> selectJobList(SysJob job) { - return list(new LambdaQueryWrapper<SysJob>() - .like(StringUtils.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName()) - .eq(StringUtils.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup()) - .eq(StringUtils.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus()) - .like(StringUtils.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget())); - } - - /** - * 閫氳繃璋冨害浠诲姟ID鏌ヨ璋冨害淇℃伅 - * - * @param jobId 璋冨害浠诲姟ID - * @return 璋冨害浠诲姟瀵硅薄淇℃伅 - */ - @Override - public SysJob selectJobById(Long jobId) { - return getById(jobId); - } - - /** - * 鏆傚仠浠诲姟 - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int pauseJob(SysJob job) throws SchedulerException { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = baseMapper.updateById(job); - if (rows > 0) { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 鎭㈠浠诲姟 - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int resumeJob(SysJob job) throws SchedulerException { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.NORMAL.getValue()); - int rows = baseMapper.updateById(job); - if (rows > 0) { - scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 鍒犻櫎浠诲姟鍚庯紝鎵�瀵瑰簲鐨則rigger涔熷皢琚垹闄� - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int deleteJob(SysJob job) throws SchedulerException { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - int rows = baseMapper.deleteById(jobId); - if (rows > 0) { - scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 鎵归噺鍒犻櫎璋冨害淇℃伅 - * - * @param jobIds 闇�瑕佸垹闄ょ殑浠诲姟ID - * @return 缁撴灉 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteJobByIds(Long[] jobIds) throws SchedulerException { - for (Long jobId : jobIds) { - SysJob job = getById(jobId); - deleteJob(job); - } - } - - /** - * 浠诲姟璋冨害鐘舵�佷慨鏀� - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int changeStatus(SysJob job) throws SchedulerException { - int rows = 0; - String status = job.getStatus(); - if (ScheduleConstants.Status.NORMAL.getValue().equals(status)) { - rows = resumeJob(job); - } else if (ScheduleConstants.Status.PAUSE.getValue().equals(status)) { - rows = pauseJob(job); - } - return rows; - } - - /** - * 绔嬪嵆杩愯浠诲姟 - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void run(SysJob job) throws SchedulerException { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - SysJob properties = selectJobById(job.getJobId()); - // 鍙傛暟 - JobDataMap dataMap = new JobDataMap(); - dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties); - scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap); - } - - /** - * 鏂板浠诲姟 - * - * @param job 璋冨害淇℃伅 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int insertJob(SysJob job) throws SchedulerException, TaskException { - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = baseMapper.insert(job); - if (rows > 0) { - ScheduleUtils.createScheduleJob(scheduler, job); - } - return rows; - } - - /** - * 鏇存柊浠诲姟鐨勬椂闂磋〃杈惧紡 - * - * @param job 璋冨害淇℃伅 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateJob(SysJob job) throws SchedulerException, TaskException { - SysJob properties = selectJobById(job.getJobId()); - int rows = baseMapper.updateById(job); - if (rows > 0) { - updateSchedulerJob(job, properties.getJobGroup()); - } - return rows; - } - - /** - * 鏇存柊浠诲姟 - * - * @param job 浠诲姟瀵硅薄 - * @param jobGroup 浠诲姟缁勫悕 - */ - public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException { - Long jobId = job.getJobId(); - // 鍒ゆ柇鏄惁瀛樺湪 - JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); - if (scheduler.checkExists(jobKey)) { - // 闃叉鍒涘缓鏃跺瓨鍦ㄦ暟鎹棶棰� 鍏堢Щ闄わ紝鐒跺悗鍦ㄦ墽琛屽垱寤烘搷浣� - scheduler.deleteJob(jobKey); - } - ScheduleUtils.createScheduleJob(scheduler, job); - } - - /** - * 鏍¢獙cron琛ㄨ揪寮忔槸鍚︽湁鏁� - * - * @param cronExpression 琛ㄨ揪寮� - * @return 缁撴灉 - */ - @Override - public boolean checkCronExpressionIsValid(String cronExpression) { - return CronUtils.isValid(cronExpression); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java deleted file mode 100644 index 7fd55c5..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ruoyi.quartz.task; - -import cn.hutool.core.lang.Console; -import com.ruoyi.common.utils.StringUtils; -import org.springframework.stereotype.Component; - -/** - * 瀹氭椂浠诲姟璋冨害娴嬭瘯 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -@Component("ryTask") -public class RyTask -{ - public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) - { - Console.log(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i)); - } - - public void ryParams(String params) - { - Console.log("鎵ц鏈夊弬鏂规硶锛�" + params); - } - - public void ryNoParams() - { - Console.log("鎵ц鏃犲弬鏂规硶"); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java deleted file mode 100644 index 1705433..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.ruoyi.quartz.util; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.exceptions.ExceptionUtil; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.service.ISysJobLogService; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Date; - -/** - * 鎶借薄quartz璋冪敤 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public abstract class AbstractQuartzJob implements Job -{ - private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); - - /** - * 绾跨▼鏈湴鍙橀噺 - */ - private static ThreadLocal<Date> threadLocal = new ThreadLocal<>(); - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException - { - SysJob sysJob = new SysJob(); - BeanUtil.copyProperties(context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES),sysJob); - try - { - before(context, sysJob); - if (StringUtils.isNotNull(sysJob)) - { - doExecute(context, sysJob); - } - after(context, sysJob, null); - } - catch (Exception e) - { - log.error("浠诲姟鎵ц寮傚父 - 锛�", e); - after(context, sysJob, e); - } - } - - /** - * 鎵ц鍓� - * - * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞� - * @param sysJob 绯荤粺璁″垝浠诲姟 - */ - protected void before(JobExecutionContext context, SysJob sysJob) - { - threadLocal.set(new Date()); - } - - /** - * 鎵ц鍚� - * - * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞� - * @param sysJob 绯荤粺璁″垝浠诲姟 - */ - protected void after(JobExecutionContext context, SysJob sysJob, Exception e) - { - Date startTime = threadLocal.get(); - threadLocal.remove(); - - final SysJobLog sysJobLog = new SysJobLog(); - sysJobLog.setJobName(sysJob.getJobName()); - sysJobLog.setJobGroup(sysJob.getJobGroup()); - sysJobLog.setInvokeTarget(sysJob.getInvokeTarget()); - sysJobLog.setStartTime(startTime); - sysJobLog.setStopTime(new Date()); - long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); - sysJobLog.setJobMessage(sysJobLog.getJobName() + " 鎬诲叡鑰楁椂锛�" + runMs + "姣"); - if (e != null) - { - sysJobLog.setStatus(Constants.FAIL); - String errorMsg = StringUtils.substring(ExceptionUtil.stacktraceToString(e), 0, 2000); - sysJobLog.setExceptionInfo(errorMsg); - } - else - { - sysJobLog.setStatus(Constants.SUCCESS); - } - - // 鍐欏叆鏁版嵁搴撳綋涓� - SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog); - } - - /** - * 鎵ц鏂规硶锛岀敱瀛愮被閲嶈浇 - * - * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞� - * @param sysJob 绯荤粺璁″垝浠诲姟 - * @throws Exception 鎵ц杩囩▼涓殑寮傚父 - */ - protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception; -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java deleted file mode 100644 index 2253af1..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.ruoyi.quartz.util; - -import org.quartz.CronExpression; - -import java.text.ParseException; -import java.util.Date; - -/** - * cron琛ㄨ揪寮忓伐鍏风被 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - * - */ -public class CronUtils -{ - /** - * 杩斿洖涓�涓竷灏斿�间唬琛ㄤ竴涓粰瀹氱殑Cron琛ㄨ揪寮忕殑鏈夋晥鎬� - * - * @param cronExpression Cron琛ㄨ揪寮� - * @return boolean 琛ㄨ揪寮忔槸鍚︽湁鏁� - */ - public static boolean isValid(String cronExpression) - { - return CronExpression.isValidExpression(cronExpression); - } - - /** - * 杩斿洖涓�涓瓧绗︿覆鍊�,琛ㄧず璇ユ秷鎭棤鏁圕ron琛ㄨ揪寮忕粰鍑烘湁鏁堟�� - * - * @param cronExpression Cron琛ㄨ揪寮� - * @return String 鏃犳晥鏃惰繑鍥炶〃杈惧紡閿欒鎻忚堪,濡傛灉鏈夋晥杩斿洖null - */ - public static String getInvalidMessage(String cronExpression) - { - try - { - new CronExpression(cronExpression); - return null; - } - catch (ParseException pe) - { - return pe.getMessage(); - } - } - - /** - * 杩斿洖涓嬩竴涓墽琛屾椂闂存牴鎹粰瀹氱殑Cron琛ㄨ揪寮� - * - * @param cronExpression Cron琛ㄨ揪寮� - * @return Date 涓嬫Cron琛ㄨ揪寮忔墽琛屾椂闂� - */ - public static Date getNextExecution(String cronExpression) - { - try - { - CronExpression cron = new CronExpression(cronExpression); - return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis())); - } - catch (ParseException e) - { - throw new IllegalArgumentException(e.getMessage()); - } - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java deleted file mode 100644 index ed15d1f..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.ruoyi.quartz.util; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.LinkedList; -import java.util.List; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 浠诲姟鎵ц宸ュ叿 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - */ -public class JobInvokeUtil -{ - /** - * 鎵ц鏂规硶 - * - * @param sysJob 绯荤粺浠诲姟 - */ - public static void invokeMethod(SysJob sysJob) throws Exception - { - String invokeTarget = sysJob.getInvokeTarget(); - String beanName = getBeanName(invokeTarget); - String methodName = getMethodName(invokeTarget); - List<Object[]> methodParams = getMethodParams(invokeTarget); - - if (!isValidClassName(beanName)) - { - Object bean = SpringUtils.getBean(beanName); - invokeMethod(bean, methodName, methodParams); - } - else - { - Object bean = Class.forName(beanName).newInstance(); - invokeMethod(bean, methodName, methodParams); - } - } - - /** - * 璋冪敤浠诲姟鏂规硶 - * - * @param bean 鐩爣瀵硅薄 - * @param methodName 鏂规硶鍚嶇О - * @param methodParams 鏂规硶鍙傛暟 - */ - private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams) - throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, - InvocationTargetException - { - if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) - { - Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams)); - method.invoke(bean, getMethodParamsValue(methodParams)); - } - else - { - Method method = bean.getClass().getDeclaredMethod(methodName); - method.invoke(bean); - } - } - - /** - * 鏍¢獙鏄惁涓轰负class鍖呭悕 - * - * @param str 鍚嶇О - * @return true鏄� false鍚� - */ - public static boolean isValidClassName(String invokeTarget) - { - return StringUtils.countMatches(invokeTarget, ".") > 1; - } - - /** - * 鑾峰彇bean鍚嶇О - * - * @param invokeTarget 鐩爣瀛楃涓� - * @return bean鍚嶇О - */ - public static String getBeanName(String invokeTarget) - { - String beanName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringBeforeLast(beanName, "."); - } - - /** - * 鑾峰彇bean鏂规硶 - * - * @param invokeTarget 鐩爣瀛楃涓� - * @return method鏂规硶 - */ - public static String getMethodName(String invokeTarget) - { - String methodName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringAfterLast(methodName, "."); - } - - /** - * 鑾峰彇method鏂规硶鍙傛暟鐩稿叧鍒楄〃 - * - * @param invokeTarget 鐩爣瀛楃涓� - * @return method鏂规硶鐩稿叧鍙傛暟鍒楄〃 - */ - public static List<Object[]> getMethodParams(String invokeTarget) - { - String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); - if (StringUtils.isEmpty(methodStr)) - { - return null; - } - String[] methodParams = methodStr.split(","); - List<Object[]> classs = new LinkedList<>(); - for (int i = 0; i < methodParams.length; i++) - { - String str = StringUtils.trimToEmpty(methodParams[i]); - // String瀛楃涓茬被鍨嬶紝鍖呭惈' - if (StringUtils.contains(str, "'")) - { - classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class }); - } - // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse - else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false")) - { - classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); - } - // long闀挎暣褰紝鍖呭惈L - else if (StringUtils.containsIgnoreCase(str, "L")) - { - classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class }); - } - // double娴偣绫诲瀷锛屽寘鍚獶 - else if (StringUtils.containsIgnoreCase(str, "D")) - { - classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class }); - } - // 鍏朵粬绫诲瀷褰掔被涓烘暣褰� - else - { - classs.add(new Object[] { Integer.valueOf(str), Integer.class }); - } - } - return classs; - } - - /** - * 鑾峰彇鍙傛暟绫诲瀷 - * - * @param methodParams 鍙傛暟鐩稿叧鍒楄〃 - * @return 鍙傛暟绫诲瀷鍒楄〃 - */ - public static Class<?>[] getMethodParamsType(List<Object[]> methodParams) - { - Class<?>[] classs = new Class<?>[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Class<?>) os[1]; - index++; - } - return classs; - } - - /** - * 鑾峰彇鍙傛暟鍊� - * - * @param methodParams 鍙傛暟鐩稿叧鍒楄〃 - * @return 鍙傛暟鍊煎垪琛� - */ - public static Object[] getMethodParamsValue(List<Object[]> methodParams) - { - Object[] classs = new Object[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Object) os[0]; - index++; - } - return classs; - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java deleted file mode 100644 index fc0ce7b..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.quartz.util; - -import org.quartz.DisallowConcurrentExecution; -import org.quartz.JobExecutionContext; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 瀹氭椂浠诲姟澶勭悊锛堢姝㈠苟鍙戞墽琛岋級 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - * - */ -@DisallowConcurrentExecution -public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java deleted file mode 100644 index 404c266..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.ruoyi.quartz.util; - -import org.quartz.JobExecutionContext; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 瀹氭椂浠诲姟澶勭悊锛堝厑璁稿苟鍙戞墽琛岋級 - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - * - */ -public class QuartzJobExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java deleted file mode 100644 index 182d1d6..0000000 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.ruoyi.quartz.util; - -import org.quartz.CronScheduleBuilder; -import org.quartz.CronTrigger; -import org.quartz.Job; -import org.quartz.JobBuilder; -import org.quartz.JobDetail; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.quartz.TriggerBuilder; -import org.quartz.TriggerKey; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.common.exception.job.TaskException.Code; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 瀹氭椂浠诲姟宸ュ叿绫� - * - * @deprecated 3.4.0鍒犻櫎 杩佺Щ鑷硏xl-job - * @author ruoyi - * - */ -public class ScheduleUtils -{ - /** - * 寰楀埌quartz浠诲姟绫� - * - * @param sysJob 鎵ц璁″垝 - * @return 鍏蜂綋鎵ц浠诲姟绫� - */ - private static Class<? extends Job> getQuartzJobClass(SysJob sysJob) - { - boolean isConcurrent = "0".equals(sysJob.getConcurrent()); - return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class; - } - - /** - * 鏋勫缓浠诲姟瑙﹀彂瀵硅薄 - */ - public static TriggerKey getTriggerKey(Long jobId, String jobGroup) - { - return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 鏋勫缓浠诲姟閿璞� - */ - public static JobKey getJobKey(Long jobId, String jobGroup) - { - return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 鍒涘缓瀹氭椂浠诲姟 - */ - public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException - { - Class<? extends Job> jobClass = getQuartzJobClass(job); - // 鏋勫缓job淇℃伅 - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build(); - - // 琛ㄨ揪寮忚皟搴︽瀯寤哄櫒 - CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression()); - cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder); - - // 鎸夋柊鐨刢ronExpression琛ㄨ揪寮忔瀯寤轰竴涓柊鐨則rigger - CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) - .withSchedule(cronScheduleBuilder).build(); - - // 鏀惧叆鍙傛暟锛岃繍琛屾椂鐨勬柟娉曞彲浠ヨ幏鍙� - jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job); - - // 鍒ゆ柇鏄惁瀛樺湪 - if (scheduler.checkExists(getJobKey(jobId, jobGroup))) - { - // 闃叉鍒涘缓鏃跺瓨鍦ㄦ暟鎹棶棰� 鍏堢Щ闄わ紝鐒跺悗鍦ㄦ墽琛屽垱寤烘搷浣� - scheduler.deleteJob(getJobKey(jobId, jobGroup)); - } - - scheduler.scheduleJob(jobDetail, trigger); - - // 鏆傚仠浠诲姟 - if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) - { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - } - - /** - * 璁剧疆瀹氭椂浠诲姟绛栫暐 - */ - public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb) - throws TaskException - { - switch (job.getMisfirePolicy()) - { - case ScheduleConstants.MISFIRE_DEFAULT: - return cb; - case ScheduleConstants.MISFIRE_IGNORE_MISFIRES: - return cb.withMisfireHandlingInstructionIgnoreMisfires(); - case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED: - return cb.withMisfireHandlingInstructionFireAndProceed(); - case ScheduleConstants.MISFIRE_DO_NOTHING: - return cb.withMisfireHandlingInstructionDoNothing(); - default: - throw new TaskException("The task misfire policy '" + job.getMisfirePolicy() - + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); - } - } -} diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml deleted file mode 100644 index 736a699..0000000 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.ruoyi.quartz.mapper.SysJobLogMapper"> - - <resultMap type="SysJobLog" id="SysJobLogResult"> - <id property="jobLogId" column="job_log_id" /> - <result property="jobName" column="job_name" /> - <result property="jobGroup" column="job_group" /> - <result property="invokeTarget" column="invoke_target" /> - <result property="jobMessage" column="job_message" /> - <result property="status" column="status" /> - <result property="exceptionInfo" column="exception_info" /> - <result property="createTime" column="create_time" /> - </resultMap> - -</mapper> \ No newline at end of file diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml deleted file mode 100644 index 0a6342b..0000000 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.ruoyi.quartz.mapper.SysJobMapper"> - - <resultMap type="SysJob" id="SysJobResult"> - <id property="jobId" column="job_id" /> - <result property="jobName" column="job_name" /> - <result property="jobGroup" column="job_group" /> - <result property="invokeTarget" column="invoke_target" /> - <result property="cronExpression" column="cron_expression" /> - <result property="misfirePolicy" column="misfire_policy" /> - <result property="concurrent" column="concurrent" /> - <result property="status" column="status" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - </resultMap> - -</mapper> \ No newline at end of file diff --git a/script/sql/quartz.sql b/script/sql/quartz.sql deleted file mode 100644 index cee613b..0000000 --- a/script/sql/quartz.sql +++ /dev/null @@ -1,174 +0,0 @@ -DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; -DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; -DROP TABLE IF EXISTS QRTZ_LOCKS; -DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; -DROP TABLE IF EXISTS QRTZ_CALENDARS; - --- ---------------------------- --- 1銆佸瓨鍌ㄦ瘡涓�涓凡閰嶇疆鐨� jobDetail 鐨勮缁嗕俊鎭� --- ---------------------------- -create table QRTZ_JOB_DETAILS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - job_name varchar(200) not null comment '浠诲姟鍚嶇О', - job_group varchar(200) not null comment '浠诲姟缁勫悕', - description varchar(250) null comment '鐩稿叧浠嬬粛', - job_class_name varchar(250) not null comment '鎵ц浠诲姟绫诲悕绉�', - is_durable varchar(1) not null comment '鏄惁鎸佷箙鍖�', - is_nonconcurrent varchar(1) not null comment '鏄惁骞跺彂', - is_update_data varchar(1) not null comment '鏄惁鏇存柊鏁版嵁', - requests_recovery varchar(1) not null comment '鏄惁鎺ュ彈鎭㈠鎵ц', - job_data blob null comment '瀛樻斁鎸佷箙鍖杍ob瀵硅薄', - primary key (sched_name, job_name, job_group) -) engine=innodb comment = '浠诲姟璇︾粏淇℃伅琛�'; - --- ---------------------------- --- 2銆� 瀛樺偍宸查厤缃殑 Trigger 鐨勪俊鎭� --- ---------------------------- -create table QRTZ_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment '瑙﹀彂鍣ㄧ殑鍚嶅瓧', - trigger_group varchar(200) not null comment '瑙﹀彂鍣ㄦ墍灞炵粍鐨勫悕瀛�', - job_name varchar(200) not null comment 'qrtz_job_details琛╦ob_name鐨勫閿�', - job_group varchar(200) not null comment 'qrtz_job_details琛╦ob_group鐨勫閿�', - description varchar(250) null comment '鐩稿叧浠嬬粛', - next_fire_time bigint(13) null comment '涓婁竴娆¤Е鍙戞椂闂达紙姣锛�', - prev_fire_time bigint(13) null comment '涓嬩竴娆¤Е鍙戞椂闂达紙榛樿涓�-1琛ㄧず涓嶈Е鍙戯級', - priority integer null comment '浼樺厛绾�', - trigger_state varchar(16) not null comment '瑙﹀彂鍣ㄧ姸鎬�', - trigger_type varchar(8) not null comment '瑙﹀彂鍣ㄧ殑绫诲瀷', - start_time bigint(13) not null comment '寮�濮嬫椂闂�', - end_time bigint(13) null comment '缁撴潫鏃堕棿', - calendar_name varchar(200) null comment '鏃ョ▼琛ㄥ悕绉�', - misfire_instr smallint(2) null comment '琛ュ伩鎵ц鐨勭瓥鐣�', - job_data blob null comment '瀛樻斁鎸佷箙鍖杍ob瀵硅薄', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group) -) engine=innodb comment = '瑙﹀彂鍣ㄨ缁嗕俊鎭〃'; - --- ---------------------------- --- 3銆� 瀛樺偍绠�鍗曠殑 Trigger锛屽寘鎷噸澶嶆鏁帮紝闂撮殧锛屼互鍙婂凡瑙﹀彂鐨勬鏁� --- ---------------------------- -create table QRTZ_SIMPLE_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿�', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - repeat_count bigint(7) not null comment '閲嶅鐨勬鏁扮粺璁�', - repeat_interval bigint(12) not null comment '閲嶅鐨勯棿闅旀椂闂�', - times_triggered bigint(10) not null comment '宸茬粡瑙﹀彂鐨勬鏁�', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '绠�鍗曡Е鍙戝櫒鐨勪俊鎭〃'; - --- ---------------------------- --- 4銆� 瀛樺偍 Cron Trigger锛屽寘鎷� Cron 琛ㄨ揪寮忓拰鏃跺尯淇℃伅 --- ---------------------------- -create table QRTZ_CRON_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿�', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - cron_expression varchar(200) not null comment 'cron琛ㄨ揪寮�', - time_zone_id varchar(80) comment '鏃跺尯', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Cron绫诲瀷鐨勮Е鍙戝櫒琛�'; - --- ---------------------------- --- 5銆� Trigger 浣滀负 Blob 绫诲瀷瀛樺偍(鐢ㄤ簬 Quartz 鐢ㄦ埛鐢� JDBC 鍒涘缓浠栦滑鑷繁瀹氬埗鐨� Trigger 绫诲瀷锛孞obStore 骞朵笉鐭ラ亾濡備綍瀛樺偍瀹炰緥鐨勬椂鍊�) --- ---------------------------- -create table QRTZ_BLOB_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿�', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - blob_data blob null comment '瀛樻斁鎸佷箙鍖朤rigger瀵硅薄', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Blob绫诲瀷鐨勮Е鍙戝櫒琛�'; - --- ---------------------------- --- 6銆� 浠� Blob 绫诲瀷瀛樺偍瀛樻斁鏃ュ巻淇℃伅锛� quartz鍙厤缃竴涓棩鍘嗘潵鎸囧畾涓�涓椂闂磋寖鍥� --- ---------------------------- -create table QRTZ_CALENDARS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - calendar_name varchar(200) not null comment '鏃ュ巻鍚嶇О', - calendar blob not null comment '瀛樻斁鎸佷箙鍖朿alendar瀵硅薄', - primary key (sched_name, calendar_name) -) engine=innodb comment = '鏃ュ巻淇℃伅琛�'; - --- ---------------------------- --- 7銆� 瀛樺偍宸叉殏鍋滅殑 Trigger 缁勭殑淇℃伅 --- ---------------------------- -create table QRTZ_PAUSED_TRIGGER_GRPS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - primary key (sched_name, trigger_group) -) engine=innodb comment = '鏆傚仠鐨勮Е鍙戝櫒琛�'; - --- ---------------------------- --- 8銆� 瀛樺偍涓庡凡瑙﹀彂鐨� Trigger 鐩稿叧鐨勭姸鎬佷俊鎭紝浠ュ強鐩歌仈 Job 鐨勬墽琛屼俊鎭� --- ---------------------------- -create table QRTZ_FIRED_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - entry_id varchar(95) not null comment '璋冨害鍣ㄥ疄渚媔d', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿�', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - instance_name varchar(200) not null comment '璋冨害鍣ㄥ疄渚嬪悕', - fired_time bigint(13) not null comment '瑙﹀彂鐨勬椂闂�', - sched_time bigint(13) not null comment '瀹氭椂鍣ㄥ埗瀹氱殑鏃堕棿', - priority integer not null comment '浼樺厛绾�', - state varchar(16) not null comment '鐘舵��', - job_name varchar(200) null comment '浠诲姟鍚嶇О', - job_group varchar(200) null comment '浠诲姟缁勫悕', - is_nonconcurrent varchar(1) null comment '鏄惁骞跺彂', - requests_recovery varchar(1) null comment '鏄惁鎺ュ彈鎭㈠鎵ц', - primary key (sched_name, entry_id) -) engine=innodb comment = '宸茶Е鍙戠殑瑙﹀彂鍣ㄨ〃'; - --- ---------------------------- --- 9銆� 瀛樺偍灏戦噺鐨勬湁鍏� Scheduler 鐨勭姸鎬佷俊鎭紝鍋囧鏄敤浜庨泦缇や腑锛屽彲浠ョ湅鍒板叾浠栫殑 Scheduler 瀹炰緥 --- ---------------------------- -create table QRTZ_SCHEDULER_STATE ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - instance_name varchar(200) not null comment '瀹炰緥鍚嶇О', - last_checkin_time bigint(13) not null comment '涓婃妫�鏌ユ椂闂�', - checkin_interval bigint(13) not null comment '妫�鏌ラ棿闅旀椂闂�', - primary key (sched_name, instance_name) -) engine=innodb comment = '璋冨害鍣ㄧ姸鎬佽〃'; - --- ---------------------------- --- 10銆� 瀛樺偍绋嬪簭鐨勬偛瑙傞攣鐨勪俊鎭�(鍋囧浣跨敤浜嗘偛瑙傞攣) --- ---------------------------- -create table QRTZ_LOCKS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - lock_name varchar(40) not null comment '鎮茶閿佸悕绉�', - primary key (sched_name, lock_name) -) engine=innodb comment = '瀛樺偍鐨勬偛瑙傞攣淇℃伅琛�'; - --- ---------------------------- --- 11銆� Quartz闆嗙兢瀹炵幇鍚屾鏈哄埗鐨勮閿佽〃 --- ---------------------------- -create table QRTZ_SIMPROP_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿�', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿�', - str_prop_1 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭涓�涓弬鏁�', - str_prop_2 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - str_prop_3 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭涓変釜鍙傛暟', - int_prop_1 int null comment 'int绫诲瀷鐨則rigger鐨勭涓�涓弬鏁�', - int_prop_2 int null comment 'int绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - long_prop_1 bigint null comment 'long绫诲瀷鐨則rigger鐨勭涓�涓弬鏁�', - long_prop_2 bigint null comment 'long绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - dec_prop_1 numeric(13,4) null comment 'decimal绫诲瀷鐨則rigger鐨勭涓�涓弬鏁�', - dec_prop_2 numeric(13,4) null comment 'decimal绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - bool_prop_1 varchar(1) null comment 'Boolean绫诲瀷鐨則rigger鐨勭涓�涓弬鏁�', - bool_prop_2 varchar(1) null comment 'Boolean绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '鍚屾鏈哄埗鐨勮閿佽〃'; - -commit; \ No newline at end of file -- Gitblit v1.9.3