1.下载地址

https://github.com/xuxueli/xxl-job

2.打开项目,并创建xxl-job数据库


3.修改xxl-job-admin配置并启动


默认账号 admin
默认密码 123456

4. 配置springboot项目,注册到xxljob中

4.1 引入maven依赖

<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.3.0</version>
</dependency>

4.2 修改 application.yml

xxl:job:admin:##注册到启动的xxljob服务中addresses: http://127.0.0.1:8888/xxl-job-adminaccessToken: default_tokenexecutor:##执行器名称appname: xxl-job-executor-sample##监听端口  同一服务下端口不能重复port: 9999logpath: /data/applogs/xxl-job/jobhandlerlogretentiondays: 30address:ip: 127.0.0.1

4.3 增加config配置

@Configuration
public class XxlJobConfig {private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);@Value("${xxl.job.admin.addresses}")private String adminAddresses;@Value("${xxl.job.accessToken}")private String accessToken;@Value("${xxl.job.executor.appname}")private String appname;@Value("${xxl.job.executor.address}")private String address;@Value("${xxl.job.executor.ip}")private String ip;@Value("${xxl.job.executor.port}")private int port;@Value("${xxl.job.executor.logpath}")private String logPath;@Value("${xxl.job.executor.logretentiondays}")private int logRetentionDays;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}
}

4.4 增加任务处理器
新版本中取消了 @JobHandler 注解,采用了@XxlJob注解

@Component
public class SampleXxlJob {private static Logger logger = LoggerFactory.getLogger(SampleXxlJob.class);@XxlJob("demoJobHandler")public void demoJobHandler() throws Exception {String param = XxlJobHelper.getJobParam();//参数信息logger.info(param);XxlJobHelper.log("XXL-JOB, Hello World.");//日志打印会输出到任务里}
}

5. 将项目配置到 xxljob 中

5.1 配置执行器


5.2 配置任务

5.3 设置任务状态,也可以单独执行一次

5.4 查看日志信息

5.5 路由策略-分片广播
在任务管理中,路由策略都是在单个节点上执行,如果单个节点扛不住会产生事故,为了处理这种情况我们用到了分片广播,也就是所有的节点都会执行,每个服务可以执行对应的数据,缓解服务端压力

@XxlJob("demo")
public void demo(){String jobParam = XxlJobHelper.getJobParam();System.out.println(jobParam);int shardIndex = XxlJobHelper.getShardIndex();//执行的第几个节点,从0开始int shardTotal = XxlJobHelper.getShardTotal();//所有节点数量System.out.println("shardIndex "+shardIndex);System.out.println("shardTotal "+shardTotal);
}

##打印信息
100
shardIndex 0
shardTotal 2

引入业务之后,参数作为每页数量,将index作为页数、total数量,对每个节点进行内部分页处理

xxlJob 分布式定时任务相关推荐

  1. SpringBoot集成xxl-job分布式定时任务

    一.xxl-job定时任务搭建 下面这篇文章介绍了xxl-job平台搭建过程https://blog.csdn.net/xrq1995/article/details/126282290 二.spri ...

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

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

  3. xxljob 配置具体定时任务_快速使用分布式定时任务 xxl-job

    快速使用分布式定时任务 xxl-job 需要linux服务器环境安装: jdk1.8 ,docker 安装步骤地址 : linux快速安装jdk   . 在linux里安装docker 1.docke ...

  4. 分布式定时任务—xxl-job学习(四)——调度中心web页面端api调用源码分析

    分布式定时任务-xxl-job学习(四)--调度中心web页面端api调用源码分析 前言 一.controller目录下非controller类 1.1 PermissionLimit自定义注解 1. ...

  5. 分布式定时任务—xxl-job学习(三)——调度中心(xxl-job-admin)的启动和任务调度过程源码分析

    分布式定时任务-xxl-job学习(三)--调度中心(xxl-job-admin)的启动和任务调度过程源码分析 RabbitsInTheGrass 2020-06-30 10:31:08  813   ...

  6. 轻量级分布式定时任务框架XXL-Job

    轻量级分布式定时任务框架XXL-Job: XXL-JOB是一款轻量级的分布式定时任务框架,上手简单,操作容易,XXL-Job可以到官网下载也可以去gitee上拉取源码,其中核心模块分页两个:1:是分布 ...

  7. XxlJob(一) 分布式定时任务XxlJob用法及核心调度源码详解

    目录 一.XxlJob 的Executor 1. 使用Spring框架注入 2. 不使用框架注入 3. 使用jar包的形式集成executor 二.XxlJob的核心工作原理 1. 注册JobHand ...

  8. 几种主流的分布式定时任务,你知道哪些?

    欢迎关注方志朋的博客,回复"666"获面试宝典 单点定时任务 JDK原生 自从JDK1.5之后,提供了ScheduledExecutorService代替TimerTask来执行定 ...

  9. quartz 分布式_6大分布式定时任务对比

    作者 | sharedCode 来源 | blog.csdn.net/u012394095/article/details/79470904 分布式定时任务简介 把分散的,可靠性差的计划任务纳入统一的 ...

  10. XXL-Job分布式任务调度

    分布式情况下定时任务会出现哪些问题? 分布式集群的情况下,怎么保证定时任务不被重复执行 分布式定时任务解决方案 ①使用zookeeper实现分布式锁 缺点(需要创建临时节点.和事件通知不易于扩展) ② ...

最新文章

  1. SOLOv 2:实例分割(动态、更快、更强)
  2. Centos6.5安装Kibana
  3. 异常:Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  4. PostgreSQL 连接的问题
  5. Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
  6. mysql数据库产生的背景_MySql路途之mysql背景
  7. 揭开2016手机进化史 寒冬整合重返市场成主旋律
  8. diffmerge对比时出现中文乱码的解决办法
  9. openwrt中br-lan,eth0,eth0.1,eth0.2
  10. 数字图像处理 自学笔记 (武汉大学 贾永红)
  11. 主播必备超萌代打猫咪,超人气全键盘版资源下载~
  12. Compression-Expansion Coding Improvements in MLC/TLC NVM论文解读
  13. 解锁ChatGPT超高级玩法,展示动态图片,纯干货分享!
  14. 微信自动邀请加群!!!
  15. 怎么把知网CAJ转换成可复制文字的PDF文件
  16. Tensorflow 从bin文件中读取数据并
  17. 天猫魔盒挂载ext4移动硬盘
  18. java 获取两个时间差_java如何获取两个日期的时间差
  19. WinHttp.WinHttpRequest.5.1
  20. 升级Windows10,安装程序无法正常启动无法初始化工作目录

热门文章

  1. 通过阅读器打开ofd格式发票并转为PDF
  2. 想要糖尿病逆转,健康饮食必不可少
  3. VueUse中文文档Vue官方工具库
  4. 接口测试流程及常见问答
  5. 数据结构算法—递归算法求二叉树的叶子结点(C语言)
  6. 数字信号处理(1)- 频谱分析
  7. ssr提示服务器名无效_联想服务器在UEFI HII界面中配置阵列的基本操作
  8. 将bmp格式的图片反色
  9. 怎么用计算机计算最小二乘法,最小二乘法_在线最小二乘法计算器
  10. TOOLFK在线工具-在线文字转语音/语音合成mp3工具