xxl-job是一个著名的开源定时任务调度平台。下面笔者简单地介绍下xxl-job的学习使用。
1、下载xxl-job源码
git clone https://gitee.com/xuxueli0323/xxl-job.git 或者从github下载 https://github.com/xuxueli/xxl-job/
下载后的源码可以直接用idea打开。
2、导入数据库脚本
xxl-job的admin监控中心控制台需要依赖一个数据库,我们在使用前需要先将数据库脚本导入。
找到doc\db\tables_xxl_job.sql 文件,直接导入到mysql数据库即可,导入的数据库名默认为 xxl-job
控制台默认有一个管理员账号: root / 123456
3、启动、登录管理控制台
启动admin服务前,检查application.properties文件中配置的数据库连接以及账户密码是否正确,之后启动admin服务。
浏览器打开 http://localhost:8080/xxl-job-admin 页面:
4、创建一个调度器
可以将官方sample中的执行器去掉(直接将相关表truncate掉),自己重新建立
TRUNCATE TABLE `xxl_job_log_report` ;
TRUNCATE TABLE `xxl_job_group` ;
TRUNCATE TABLE `xxl_job_registry` ;
例如,笔者将上述3个表直接truncate掉了,自己重新注册了一个叫bm-executor的执行器。
bm-executor是一个springboot服务,其中需要配置执行器的appName
xxl.job.executor.appname=bm-executor
5、新建立任务(jobHandle)
调度类型: 无、CRON、固定速度 ,
cron: 执行时间cron表达式
运行模式:默认选bean
jobHandler: 执行器spring应用中的bean,方法上需要标记@XxlJob注解 (重要)
路由策略:第一个、最后一个、轮询、随机、一致性hash、最不经常使用、最近最久未使用、故障转移、忙碌转移、分片广播 (支持分片执行任务)
执行时(手动or自动)还可以传入执行参数,代码中使用XxlJobHelper.getJobParam(); 可以获取到执行参数
@XxlJob直接中,还可以指定任务的init方法和destory方法。方法体中可以使用XxlJobHelper.handleFail()、XxlJobHelper.handleSuccess()方法来告知xxl-job的
调度中心任务是否执行成功。 以下是笔者 修改的 xxl-job-executor-sample-springboot 项目的SampleXxlJob的 一些代码:
6、启动 xxl-job-executor-sample-springboot 项目,
在admin控制台中添加第一个demo任务,选择运行模式为:bean ,输入jobHandler为:demoJobHandler。
添加成功后,该任务默认为停止状态。 此时可以找到操作项--启动 即可启动定时任务, 也可以选择"执行一次" 手动触发一次任务。
。。。
上一篇:java中生成图形验证码
Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1