littlebot
Published on 2025-04-08 / 2 Visits
0

【源码】基于Spring Boot框架的Quartz任务调度管理系统

项目简介

本项目是基于Spring Boot框架开发的Quartz任务调度管理系统,作为 springboot - quartz - lite 的starter版本,可开箱即用。它结合了Quartz的任务调度能力与Spring Boot的便捷开发特性,提供可视化任务管理界面,支持任务的创建、编辑、执行、暂停、恢复和删除等操作,具备任务日志记录和异常邮件通知功能,保障任务调度稳定且可监控。

项目的主要特性和功能

  1. 登录验证:用户登录系统需验证,登录信息用RSA加密,登录接口有 参数签名 + 时间戳 机制,保障登录安全,每次登录有效时长30分钟。
  2. 任务管理:任务列表显示任务基本信息,支持 立即执行暂停恢复删除修改日志查询 等操作。有 在线生成Cron 按钮,方便用户,还能设置页面自动刷新频率。
  3. 任务日志:任务日志页面按执行时间倒序显示 执行时间执行结果执行成功或异常信息。任务执行失败时可配置邮件通知指定邮箱。
  4. 配置灵活:可在 application.yml 中配置账号、密码、RSA公钥、私钥、邮件通知等信息。

安装使用步骤

环境准备

确保已安装Java 8及以上版本和Maven构建工具。

创建框架所需表

在新建或已存在的数据库中,执行项目提供的SQL脚本,创建框架所需表结构。

项目集成

  1. 引入Maven依赖:在 pom.xml 中添加以下依赖: xml <dependencies> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql - connector - java</artifactId> <scope>runtime</scope> </dependency> <!-- 引入 Quartz - Lite 的 Starter --> <dependency> <groupId>com.gitee.leiguoqing.quartz - lite - starter</groupId> <artifactId>quartz - lite - spring - boot - starter</artifactId> <version>1.2.0</version> </dependency> </dependencies> <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> 也可在Maven setting.xml 中添加相关仓库配置。
  2. 配置数据库:在 application.yml 中添加数据库连接配置: yml spring: datasource: driver - class - name: com.mysql.cj.jdbc.Driver username: {username} password: {password} url: jdbc:mysql://localhost:3306/{database}?useUnicode=true&characterEncoding=UTF - 8&allowMultiQueries=true&useSSL=false&autoReconnect=true&serverTimezone=UTC&rewriteBatchedStatements=true
  3. 配置Quartz - Lite:在 application.yml 中进行Quartz - Lite的相关配置,如是否显示Banner、任务执行异常邮件通知、任务页面配置、安全认证等。 yml spring: quartz: show - banner: true mail: enable: false send - email - form: '191789784@qq.com' send - email - to: - '191789784@qq.com' task - view: embedded: false login - username: admin login - password: 123456 security: auth: pubKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCV+cJIYadGdhQc84MlxsCOTZuyaeKAwImBkY23j4PdVaXh/8bRaz/KXI6V1ArgO1Q2vrDc177xfXVNgQZQz2SIApdJtXZzn/shZ73kT5xXqsUxE4L0bg9gF5IJ259ggQzG8S+OmzfJB4SUOrXvwIe8vJJXsHdxD136A0RGezC8QwIDAQAB' priKey: 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJX5wkhhp0Z2FBzzgyXGwI5Nm7Jp4oDAiYGRjbePg91VpeH/xtFrP8pcjpXUCuA7VDa+sNzXvvF9dU2BBlDPZIgCl0m1dnOf+yFnveRPnFeqxTETgvRuD2AXkgnbn2CBDMbxL46bN8kHhJQ6te/Ah7y8klewd3EPXfoDREZ7MLxDAgMBAAECgYAFHoJYMCUijZNALbuzRWZ7NQD0hRK7LFdFOe+pbVel7W99GFrz+QIzaRdg290HLF9Cgx3MW/zjh1HCtH2/smSPBmiTizV6I4lD+WwWgSOQHrKTSSqYfnWUStu/8z5Gucp7vlExT5KULEoMLWCXNOlI+G8+5N4XLrFwunpUT26CAQJBAOOqdCLZuVl/UK0vZfwmJMkgDCQqcgiTanor4w8oQpfQn8FsNwRB8Y9n2V1fVmAkvrKhm1Ig0Q8Tj3vYWEF+NQECQQCopA55NFHKf/29LnzP9q8h4VdRUa6QRqjGtOhQ2GS9uWcQ/H1hpPZiABEaXF5iDAhBiHG9yEHXtUD/O4wQZ91DAkEAq2SVje8PRLs+R0MZqhwlMWz49vklZCNm05bal3ydtaEPxBPtzzy92FI8J7kwU60WC3Dyd3/RI2J8cKXMu3GCAQJAEfK785xk5BdxKvRKpluL0iBIicgWuxY6GkPgwdH2Dtcvp/gnZAAJlO6K43JXPToomsjpyhgJIesRitiMlKZpPwJBAKnvS/4R6c8VaYK+Vfhq7LLSZrGdmQTpd/cO794OkZgFeo34qoE3gHEx+ulflStkdhGms6oobkCd3W72E1vwzo4=' properties: org: quartz: scheduler: instanceName: myQuartzScheduler instanceId: AUTO jobStore: class: org.quartz.impl.jdbcjobstore.JobStoreTX driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate tablePrefix: QRTZ_ isClustered: true clusterCheckinInterval: 10000 useProperties: false dataSource: quartzDataSource misfireThreshold: 5000 threadPool: class: org.quartz.simpl.SimpleThreadPool threadCount: 3 threadPriority: 5 threadsInheritContextClassLoaderOfInitializingThread: true job - store - type: jdbc jdbc: initialize - schema: never 若要启用邮件通知功能,还需配置 spring.mail 相关信息。

运行项目

使用Maven命令启动Spring Boot应用。启动后,在浏览器输入 http://{IP}:{PORT}/quartz - lite/login.html 进入登录页面。

新建任务

  1. 继承 com.leigq.quartzlite.starter.bean.job.BaseTaskExecute 类,重写 execute 方法。
  2. 在任务类上添加 @Component 注解。
  3. 重启服务,让任务注入到Spring中,然后在可视化界面添加任务。

注意事项

  1. 拦截器设置:根据 quartz.task - view.embedded 的配置,调整项目中的拦截器规则。
  2. MyBatis/MyBatisPlus配置:若项目使用MyBatis或MyBatisPlus框架,需在 mapper - locations 中添加 classpath*:/mapper/lite/*.xml

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】