Browse Source

引入Quartz

master
庄锐波 5 months ago
parent
commit
2d8ca7e583
  1. 1
      ruoyi-common/pom.xml
  2. 7
      ruoyi-common/ruoyi-common-bom/pom.xml
  3. 36
      ruoyi-common/ruoyi-common-quartz/pom.xml
  4. 49
      ruoyi-common/ruoyi-common-quartz/src/main/java/org/dromara/common/quartz/config/QuartzAutoConfiguration.java
  5. 25
      ruoyi-common/ruoyi-common-quartz/src/main/java/org/dromara/common/quartz/job/DemoTimeJob.java
  6. 1
      ruoyi-common/ruoyi-common-quartz/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  7. 4
      script/sql/zfjd-refactoring-v1/003-删除暂时没有作用的表.sql
  8. 5
      zdxt-web-server/zdxt-admin-web-server/pom.xml
  9. 6
      zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
  10. 6
      zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml

1
ruoyi-common/pom.xml

@ -34,6 +34,7 @@
<module>ruoyi-common-tenant</module>
<module>ruoyi-common-websocket</module>
<module>ruoyi-common-sse</module>
<module>ruoyi-common-quartz</module>
</modules>
<artifactId>ruoyi-common</artifactId>

7
ruoyi-common/ruoyi-common-bom/pom.xml

@ -179,6 +179,13 @@
<version>${revision}</version>
</dependency>
<!-- Quartz定时任务 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-quartz</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>

36
ruoyi-common/ruoyi-common-quartz/pom.xml

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-quartz</artifactId>
<description>
ruoyi-common-quartz Quartz定时任务
</description>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
</dependencies>
</project>

49
ruoyi-common/ruoyi-common-quartz/src/main/java/org/dromara/common/quartz/config/QuartzAutoConfiguration.java

@ -0,0 +1,49 @@
package org.dromara.common.quartz.config;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.quartz.job.DemoTimeJob;
import org.quartz.*;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
/**
* Quartz 自动配置
*
* @author ruoyi
*/
@Slf4j
@AutoConfiguration
@ComponentScan("org.dromara.common.quartz")
public class QuartzAutoConfiguration {
public QuartzAutoConfiguration() {
log.info("初始化 Quartz 定时任务配置");
}
/**
* Demo任务详情
*/
@Bean
public JobDetail demoTimeJobDetail() {
return JobBuilder.newJob(DemoTimeJob.class)
.withIdentity("demoTimeJob", "demo")
.storeDurably()
.build();
}
/**
* Demo任务触发器 - 每秒执行一次
*/
@Bean
public Trigger demoTimeJobTrigger(JobDetail demoTimeJobDetail) {
return TriggerBuilder.newTrigger()
.forJob(demoTimeJobDetail)
.withIdentity("demoTimeTrigger", "demo")
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(1)
.repeatForever())
.build();
}
}

25
ruoyi-common/ruoyi-common-quartz/src/main/java/org/dromara/common/quartz/job/DemoTimeJob.java

@ -0,0 +1,25 @@
package org.dromara.common.quartz.job;
import lombok.extern.slf4j.Slf4j;
import org.quartz.JobExecutionContext;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* 演示定时任务 - 每秒打印当前时间
*
* @author ruoyi
*/
@Slf4j
public class DemoTimeJob extends QuartzJobBean {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@Override
protected void executeInternal(JobExecutionContext context) {
log.info("[Quartz Demo] 当前时间: {}", LocalDateTime.now().format(FORMATTER));
}
}

1
ruoyi-common/ruoyi-common-quartz/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@ -0,0 +1 @@
org.dromara.common.quartz.config.QuartzAutoConfiguration

4
script/sql/zfjd-refactoring-v1/003-删除暂时没有作用的表.sql

@ -15,7 +15,7 @@ drop table twkf_movelog;
drop table twkf_moveset;
drop table twkf_return_info;
# Quartz Scheduler
drop table qrtz_blob_triggers;
/*drop table qrtz_blob_triggers;
drop table qrtz_calendars;
drop table qrtz_cron_triggers;
drop table qrtz_fired_triggers;
@ -25,7 +25,7 @@ drop table qrtz_scheduler_state;
drop table qrtz_simple_triggers;
drop table qrtz_simprop_triggers;
drop table qrtz_triggers;
drop table qrtz_job_details;
drop table qrtz_job_details;*/
# question相关
drop table question_answer;
drop table question_bank;

5
zdxt-web-server/zdxt-admin-web-server/pom.xml

@ -76,6 +76,11 @@
<artifactId>ruoyi-job</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-quartz</artifactId>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>org.dromara</groupId>

6
zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml

@ -36,6 +36,12 @@ snail-job:
# 客户端ip指定
host:
--- # Quartz 定时任务配置
spring:
quartz:
# 是否自动启动调度器,设为false则禁用全部定时任务
auto-startup: true
--- # 数据源配置
spring:
datasource:

6
zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml

@ -249,6 +249,12 @@ websocket:
# 设置访问源地址
allowedOrigins: '*'
--- # Quartz 定时任务配置
spring:
quartz:
# 是否自动启动调度器,设为false则禁用全部定时任务
auto-startup: true
--- # warm-flow工作流配置
warm-flow:
# 是否开启工作流,默认true

Loading…
Cancel
Save