Springboot集成quartz,并实现定时调度和管理http请求任务

一、环境搭建

1.1 简单说明:

1、springboot集成quartz,使用druid连接池
2、支持http请求任务定时调度,当前支持get、post表单(formdata)、post Json三种请求类型,并记录返回内容
3、通过web界面进行任务管理,包括任务暂停、恢复、修改、历史记录、历史任务查看功能
4、支持调用接口(/quartz/httpJob/add)进行http任务添加  
5、根据jobname或jobgroup进行查询

1.2 运行及访问



1、执行sql目录下的create_table.sql文件,建立quartz以及httpjob需要的数据库表  
2、修改application.properties中的数据库连接方式
3、访问http://localhost:8080/httpJob.html可通过web界面进行httpjob管理

程序搭建并运行后,添加任务后,主页面如下:

在这里插入图片描述

测试任务配置

在这里插入图片描述

请求url

http://192.168.3.11:8080/quartz/url/testCurrentTime

对应方法

在这里插入图片描述

请求参数:根据实际情况,有参数可传,无参数可不传
Cron:0/10 * * * * ?   (每10秒执行一次)
控制台执行结果:

在这里插入图片描述

修改任务cron:

在这里插入图片描述

点击暂停

在这里插入图片描述

点击暂停,可执行记录里查看记录,会发现程序已暂停。

在这里插入图片描述

1.3代码分析

4个quartz 操作(暂停,恢复,删除,修改),点击相应方法,分别调用quartz操作

如点暂停,暂停job

在这里插入图片描述
如点修改,按新的cronExpression重新构建trigger
在这里插入图片描述

springboot 连本地oracle
spring.datasource.url=jdbc:oracle:thin:@192.168.3.11:1521:orcl
spring.datasource.username=zhangm
spring.datasource.password=root123
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
maven 依赖:
  <dependency>
       <groupId>com.oracle</groupId>
       <artifactId>ojdbc14</artifactId>
       <version>10.2.0.4.0</version>
</dependency>

二、问题

2.1 遇到问题

[ERROR] Failed to execute goal on project quartz: Could not resolve dependencies for project com.example:quartz:jar:0.0.1-SNAPSHOT: Could not find artifact com.oracle:ojdbc14:jar:10.2.0.4.0 in central (https://repo.maven.apache.org/maven2) -> [Help 1]
[ERROR] 
原因:oracle的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配置本地库才能加载到项目中去。
解决: 官网下载 jar包, mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=ojdbc6.jar

2.2 遗留问题:

  1. mysql 分页关键字limit ,不适用于oralce ,已将分页功能注释掉。
  2. 执行记录上次执行时间未记录。

三、参考:

  • 1: github:https://github.com/helloflygit/springboot-quartz.git
  • 2:mysql数据库迁移至Oracle数据库:https://www.jb51.net/article/95345.htm
  • cron具体见http://cron.qqe2.com/ cron
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值