刚出炉热腾腾的定时任务可视化管理系统
这个东西要是基于 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 表达式。
作业状态:开启和禁用两种。开启的话,添加完成后这个定时任务就会开始执行,禁用的话,就单纯只是将记录添加到数据库中。
作业添加成功提示如下:
作业添加失败提示如下:
点击作业编辑,可以修改作业的各项数据:
评论