SpringBoot整合Qaurtz系统设计与实现思路.docx

SpringBoot整合Qaurtz系统设计与实现思路.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? SpringBoot整合Qaurtz系统设计与实现思路 ? ? 文章目录 一、前言 二、数据库表设计 三、界面设计 四、代码设计逻辑 五、SpringBoot整合Quartz实现以上功能小案例 5.1 代码设计 5.2 来测试吧 一、前言 后端基于基于SpringBoot框架进行设计。在系统中可以设计定时任务、定时计划两大模块。 定时任务:定义的一些定时的任务。 任务的名称、任务描述、类名或者URL、状态(是否关联)、是否是系统计划、修改人、修改时间等。 定时计划:是真正执行的任务。 (1)每个定时计划可以设定一条或者多条定时任务(触发任务),并进行发布。 (2)需要设置定时计划的触发器(按天、周、月等)。 二、数据库表设计 相关的数据库表设计4个表,分别是定时任务表、定时计划表、定时任务定时计划关联表、定时计划执行记录表。 1、cfg_scheduletask(定时任务表) 字段 解释 IID 主键 ISYSTEM 系统定义[0:系统级 (系统级不允许删除) 1:自定义级(可以进行删除操作) SNAME 任务名称 SCLASSNAME 存储任务的类名或者URL地址 SDESCRIPTION 任务描述 ISTATUS 状态[0:发布 1:未发布](定时计划中发布后,此状态为0) IMODIFIED 修改人 DMODIFIED 修改时间 IFLAG 标志[0:启用 1:禁用](此任务是否启用,启用的话才可以被定时计划中选择为触发任务) 2、cfg_scheduleplan(定时计划表) 除了主键、名称、描述、修改人、修改时间、状态[0:发布 1:未发布]、标志[0:启用 1:禁用]字段以外,还包括的关键字段有: 字段 解释 TSTARTTIME 触发开始时间 TENDTIME 触发结束时间 ITRIGGERMODE 触发方式[1:一次 2:按天 3:按周 4:按月] ITRIGGERMODE 重复间隔 IDAYVALUE 按天间隔 SDAYSOFWEEK 按周间隔[3,5 每周三和周五] SMONTHS 月重复 IMONTHTYPE 月中日重复方式[1:月中的日 2:月末 3:月中的星期] SDAYSOFMONTH 月中日重复 IMONTHWEEK 月中周重复 IMONTHWEEKDAY 月中周重复方式 3、cfg_scheduleplantask(定时计划与定时任务关联表) 字段 解释 IID 主键 IPLANID 计划ID ITASKID 任务ID 4、cfg_scheduleplan_log(定时任务执行记录表) 记录每一条定时计划中的定时任务的执行情况。 字段 解释 IID 主键 IPLANID 定时计划ID IPLANTASKID 定时任务ID SCONTENT 任务执行结果描述 ISUCCESS 执行结果,0:成功,1:失败 TSTARTTIME 任务执行开始时间 TENDTIME 任务执行结束时间 三、界面设计 可以有两个界面。一个界面对定时任务进行设置。一个界面制定定时计划以及定时计划的发布、关闭、删除等操作。 四、代码设计逻辑 1、每个定时任务需要执行的方法直接写成接口的形式。这样既可以方便前端调用方法,而且不需要写一堆JOB,只需要写一个公共的JOB然后通过传参不同调用不同的接口URL就可以了。 2、用户只需要点击定时计划的发布按钮,直接调用公共方法初始化调度器、查询需要执行的任务。其中JOB传值为一个公共的JOB接口,在里面可以通过LOG日志记录定时任务的执行情况,同时调用一个公共方法:访问URL调用接口方法。 3、所以说就是把所有的JOB集结成一个调用接口的方法,并记录定时计划的执行情况。 五、SpringBoot整合Quartz实现以上功能小案例 5.1 代码设计 首先,项目结构: 1、编写定时任务接口代码,定义两个定时任务接口restA和restB。 package com.mytest.testQuartz.quartz.rest; import com.alibaba.fastjson.JSONObject; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.Map; /** * @author zll * @version 1.0 * @date 2020/7/28 13:27 */ @RestController @RequestMapping(/testApi) public class

文档评论(0)

科技之佳文库 + 关注
官方认证
内容提供者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地浙江
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档