下载地址: https://www.xuxueli.com/xxl-job/

中文文档: http://www.xuxueli.com/xxl-job/#/.

xxl-job控制台:

1、将下载好的源码zip包解压,获取初始化sql文件(xxl-job->doc->db->tables_xxl_job.sql),并执行

2、修改xxl-job-admin控制台项目下的application.perperties文件中的数据库链接信息

3、启动xxl-job-admin服务,访问http://localhost:8080/xxl-job-admin/toLogin,

进入xxljob的登录页面,账号默认admin,密码默认123456

4、新增任务执行器: 任务执行器->新增执行器

AppName:执行器集群的唯一标示, 和项目配置参数保持一致

注册方式

自动注册:调度中心通过底层注册表可以动态发现并加载执行器地址(http://127.0.0.1:9999);

手动录入:人工手动录入执行器的地址信息,多地址逗号分隔;

5、新增任务: 任务管理->新增

路由策略:从开发角度看,主要分广播和非广播模式(单机)

Cron:触发任务执行的Cron表达式;

BEAN运行模式:任务以JobHandler方式维护在执行器端;

需要结合 “@XxlJob(“umHandler”)” 属性匹配执行器中任务;

JobHandler:运行模式为 “BEAN模式” 时生效,对应执行器中新开发的@XxlJob(“umHandler”)

方法“@XxlJob”注解自定义的value值;

阻塞处理策略

调度任务请求执行时,发现执行器存在运行中的任务

1、将此次请求放入先进先出的FIFO队列,此策略为单机串行(默认)

2、将此次请求丢弃并标记为失败,此策略为丢弃后续调度

3、终止运行中的调度任务并清空队列,然后运行当前调度任务,此策略为覆盖之前调度

子任务:当前主任务成功执行完毕后自动触发

执行参数:任务所需参数,多个参数用逗号分隔,任务执行时将会把多个参数转换成数组传入

常用路由策略对应开发代码示例

分片广播(通过分片参数进行多服务器分段处理) :


@Componentpublic class SampleXxlJob {@XxlJob("shardingJobHandler")public ReturnT<String> shardingJobHandler(String param) throws Exception {// 分片参数ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();XxlJobLogger.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardingVO.getIndex(), shardingVO.getTotal());                                     // 业务逻辑for (int i = 0; i < shardingVO.getTotal(); i++) {if (i == shardingVO.getIndex()) {XxlJobLogger.log("第 {} 片, 命中分片开始处理", i);} else {XxlJobLogger.log("第 {} 片, 忽略", i);}}return ReturnT.SUCCESS;}}

非分片模式(单机):(第一个、最后一个、轮询、随机、最不经常使用、故障转移等等)


@Componentpublic class SampleXxlJob {@XxlJob("demoJobHandler")public ReturnT<String> demoJobHandler(String param) throws Exception {XxlJobLogger.log("XXL-JOB, Hello World.");for (int i = 0; i < 5; i++) {XxlJobLogger.log("beat at:" + i);TimeUnit.SECONDS.sleep(2);}return ReturnT.SUCCESS;}} 

XXL 定时任务实现相关推荐

  1. 记录一下执行xxl定时任务超时导致线程池RejectedExecutionException

    记录线程池打满异常 使用xxl-job进行分布式任务调度的坑, 由于优惠券到期提醒定时任务 系统会每天9点去查询提前一天过期的优惠券,当xxl-job执行任务时 调用对应服务的excute方法超时,当 ...

  2. 工作中zzzzzz后端问题

    持续更新中 基础理论 VO DTO DO PO 的区别 数据库问题 mysql多条件查询筛选 UUID()重复和去掉'-' 多表联合更新 在调用redis的工具类时,RedisTemplate无法注入 ...

  3. xxl子任务_阿里面试官:聊一下分布式任务调度有那些解决方案?

    作者:黄兆平 来源:http://blog.freshfood.cn/article/39 # 简介 随着系统规模的发展,定时任务数量日益增多,任务也变得越来越复杂,尤其是在分布式环境下,存在多个业务 ...

  4. 后端技术:Java定时任务的五种创建方式

    Quartz表达式生成地址:http://cron.qqe2.com/ 支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下 xxl-job springboot 的 @Schedul ...

  5. 硬核|定时任务的10种实现方案,满足你的不同需求!

    最近有几个读者私信给我,问我他们的业务场景,要用什么样的定时任务.确实,在不用的业务场景下要用不同的定时任务,其实我们的选择还是挺多的.我今天给大家总结10种非常实用的定时任务,总有一种是适合你的. ...

  6. 分布式定时任务框架选型,写得太好了!

    点击关注公众号,实用技术文章及时了解 为什么我们需要定时任务 我们先思考下面几个业务场景的解决方案: 支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算 电商整点抢购,商品价格8点整开始优 ...

  7. 【xxl-job】轻松实现分布式定时任务demo实例

    [项目描述] 前段时间专门独立了一个spring boot服务,用于做和第三方erp系统的对接工作.此服务的第一个需求工作就是可以通过不同的规则,设置不同的定时任务,从而获取erp系统的商品数据.所以 ...

  8. 学会这 10 种定时任务,我有点飘了

    [CSDN 编者按]大多数系统都会遇到关于定时系统相关的功能,例如定时备份数据库,定时修改某些信息等.很多功能可以基于Linux的定时命令去完成,有些特殊的任务则需要代码来完成.而定时调度这个功能其实 ...

  9. java 定时任务实现方式

    一.JDK自带定时任务 1.Timer java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行,但 ...

  10. JAVA定时任务的创建方式

    Quartz表达式生成地址:http://cron.qqe2.com/ 支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下 xxl-job springboot 的 @Schedul ...

最新文章

  1. PHP复制和移动目录
  2. Xamarin XAML语言教程对象元素的声明方式
  3. 将用户名保存至cookie中
  4. 输入A、B,输出A+B
  5. Windows Nano Server安装配置详解03:远程管理Nano Server
  6. springboot 单例_如何实现一个单例及优化
  7. 解决FastJson中“$ref 循环引用检测”的问题的几种方式
  8. 【BZOJ1922】【Tyvj1736】【codevs2129】大陆争霸,无语最短路
  9. 爬虫数据传入mysql_nodejs爬虫数据存入mysql
  10. 小爱音箱 电脑 麦克风_拆解报告:小米小爱音箱Art 智能音箱
  11. testbed软件测试技巧,基于LDRA Testbed 软件的单元测试
  12. 蓝桥杯等差素数列(暴力)
  13. 对比线程,一个VCPU是什么
  14. Spring-statemachine有限状态机(FSM)使用教程详解
  15. PowerDesigner建立数据库模型
  16. X11 xcb 交叉编译
  17. linux具有写保护权限的文件,细说Linux权限
  18. 电脑如何录制屏幕?windows录屏软件哪个好?
  19. 计算机和hdmi无法正常显示,电脑使用HDMI接口接显示器 显示不正常甚至黑屏无法显示怎么办...
  20. 图片如何修复清晰度?好用的图片修复方法介绍

热门文章

  1. Systemverilog always_comb 过程块
  2. centos审计服务audit导致使centos服务器不能登录,部署的应用不能运行和访问。
  3. Codeforces Round #521 (Div. 3) E. Thematic Contests(dp)
  4. python作业火车票订购系统_[Python爬虫]使用Selenium操作浏览器订购火车票
  5. Hyper-V安裝筆記
  6. matlab数字和字符串转换
  7. 机器学习之你不懂的 sigmoid函数
  8. gentoo linux软件安装,Gentoo Linux 快速安装方法安装
  9. Linux命令之cat和tac篇
  10. 曾国藩家训:三个地方看一个家庭的兴败