springboot+quartz 实现任务的动态部署和持久化

项目搭建

主要集成springboot+quartz+mysql

因为springboot搭建比较简单添加@EnableScheduling注解即可,其他的按照quartz和spring的正常整合即可。

另外quartz本身支持持久化和集群部署,需要配置相应的文件和建立官方指定数据库表(具体参考https://blog.csdn.net/u012768459/article/details/73826189),不过本次只是单个项目的演示,所以不加入quartz的集群功能。

 

任务的实体对象

主要包括用于quarzt的name和group,以及type用于区分是本地任务还是远程任务

本地任务则用className,远程任务则用url

 

 

配置数据库刷新任务

主要是查询数据库全部的任务,然后根据scheduler中是否存在该任务判断是添加还是修改数据

如果是scheduler中不存在则添加到定时i任务,否则去修改

修改的话根据时间表达式是否有变化话,或者是远程任务的话就修改url(本地任务因为肯定要重新打包,所以不提供运行时的修改)

 

 

简单提供rest api接口调用

添加任务,修改任务,暂停任务,开启任务以及列出所有任务

预先在数据库中存数据

 

启动项目见日志

 

 

 

项目的地址 https://github.com/cdy1996/job

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值