# SpringBoot+Quartz动态定时任务 **Repository Path**: ww-yisuoyanyu/springboot-quartz2 ## Basic Information - **Project Name**: SpringBoot+Quartz动态定时任务 - **Description**: 1.SpringBoot+Quartz实现动态定时任务的非Web项目(配置文件模式,非数据库) 2.在日常工作中,经常会遇到一些定时任务,比如定时发邮件、异构数据库同步数据等。目前比较常用的是SpringBoot+Quartz实现动态定时任务的Web项目,这种模式通常需要建立定时任务相关的表。本例为SpringBoot+Quartz实现动态定时任务的非Web项目,可以根据项目启动的参数来决定执行配 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-04-18 - **Last Updated**: 2024-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot+Quartz实现动态定时任务的非Web项目(配置文件模式,非数据库) #### 介绍 在日常工作中,经常会遇到一些定时任务,比如定时发邮件、异构数据库同步数据等。目前比较常用的是SpringBoot+Quartz实现动态定时任务的Web项目,这种模式通常需要建立定时任务相关的表。本例为SpringBoot+Quartz实现动态定时任务的非Web项目,可以根据项目启动的参数来决定执行配置文件中的某些任务,并且所有的任务都配置在配置文件中,从而避免建数据库的麻烦。 #### 软件架构 1.流程说明     程序启动时注册QuartzConfig配置类(该配置类将读取quartz.properties中的配置、任务信息、初始化调度器、job实例工厂等),然后通过CommandLineRunner的实现类,重写其run()方法,该方法根据启动传入的参数判断哪些配置任务信息需要进行执行,并调用QuartzManager工具类启动相应任务。 2.软件架构说明 (1). 创建定时任务(Job),实现业务逻辑,比如定时发邮件、异构数据库同步数据; (2). 创建任务调度器(Scheduler),用来调度任务,主要用于启动、停止、暂停、恢复任务; (3). 创建任务明细(JobDetail),用来关联创建的定时任务; (4). 创建触发器(Trigger),用来定义任务执行的规则; (5). 使用动态数据源dynamic-datasource-spring-boot-starter实现业务任务的数据查询 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. 下载项目,导入到IDEA中,修改启动配置参数 ![输入图片说明](1.png) 2. 启动项目,即可查看定时任务执行过程 ![输入图片说明](2.png) 3. 修改quartz.properties,配置定时任务列表 ![输入图片说明](3.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)