刚出炉热腾腾的定时任务可视化管理系统
【刚出炉热腾腾的定时任务可视化管理系统】定时任务也算是我们日常开发中比较常见的需求了,市面上也有很多成熟的框架:
- quartz
- elastic-job
- xxl-job
- ...
@EnableScheduling
注解开启,松哥之前也写过文章和大家分享这个注解的基本用法:- Spring Boot 中实现定时任务的两种方式!
这个东西要是基于 xxl-job 之类的框架来做其实是比较容易的,不过用 Spring 自带的
@EnableScheduling
注解其实也能实现,而且并不难,松哥基于此火急火燎的写了一个,今天先和大家聊聊大致用法,后面抽空再写一篇文章介绍实现原理。项目已开源,项目地址:
- https://github.com/lenve/scheduling
- 克隆项目:
git clone https://github.com/lenve/scheduling.git
。 - 本地数据库创建一个名为
scheduling
的库。 - 修改配置文件
src/main/resources/application.yaml
,主要修改数据库连接的用户名和地址。 - 启动项目。
- 浏览器访问
http://localhost:8080
,可以看到如下页面:
文章图片
表示启动成功。
功能介绍
- 项目启动时,会自动从数据库中加载状态为 1 的定时任务并开始执行,1 表示处于开启状态的定时任务,0 表示处于禁用状态的定时任务。
- 点击页面上的添加作业按钮,可以添加一个新的定时任务,新任务的 Bean 名称、方法名称以及方法参数如果和已有的记录相同,则认为是重复作业,重复作业会添加失败。
文章图片
这里涉及到几个参数,含义如下:
- Bean 名称:这是项目中注入 Spring 的 Bean 名称,测试代码中以
org/javaboy/scheduling02/service/SchedulingTaskDemo.java
为例。 - 方法名称:参数 1 中 bean 里边的方法名称。
- 方法参数:参数 2 中方法的参数。
- Cron 表达式:定时任务的 Cron 表达式。
- 作业状态:开启和禁用两种。开启的话,添加完成后这个定时任务就会开始执行,禁用的话,就单纯只是将记录添加到数据库中。
文章图片
作业添加失败提示如下:
文章图片
- 点击作业编辑,可以修改作业的各项数据:
文章图片
修改后会立马生效。
- 点击作业删除,可以删除一个现有的作业。假如删除的作业正在执行,则先停止该作业,然后删除。
- 点击列表中的 switch 按钮也可以切换作业的状态。
文章图片
技术栈
- SpringBoot
- Jpa
- MySQL
- Spring Job
- Vue
好啦,先说这么多。
感兴趣的小伙伴赶紧去体验一把吧:
- https://github.com/lenve/scheduling
- https://gitee.com/lenve/scheduling
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量