网站首页 > 博客文章 正文
前言
分布式开发环境中,任务调度的需求基本是必不可少的。传统的最佳方案是Quartz。
但是Quartz有以下缺点
- 对业务系统侵入性非常严重,需要将十几张表放入业务数据库中。
- 没有提供界面操作,不是很人性化。
- 调度逻辑和QuartzJobBean耦合在同一个项目中。
在这种背景下,需要有一个更好的平台来克服以上缺点,xxl-job应运而生。
推荐理由
- 开发迅速、学习简单、轻量级、易扩展。
- 现已开放源代码并接入多家公司线上产品线,开箱即用。
- 通过Web页面对任务进行CRUD操作,操作简单,一分钟上手。
- 支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效。
- 支持弹性扩容缩容,故障转移,任务超时控制,任务失败重试。
- 任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件,方便及时感知错误。
- 样例和文档详细,持续更新迭代
实践
- git下载源码: https://gitee.com/xuxueli0323/xxl-job.git
- 导入到Eclipse或者其他开发工具
- 修改配置文件
4.初始化SQL脚本
- 启动项目,默认端口8080,项目路径xxl-job-admin
- 登录,默认用户名:密码 admin:123456
6.在springBoot项目中使用
6.1 POM中引入依赖
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.2.1-SNAPSHOT</version>
</dependency>
6.2 执行器配置
6.3 执行器的启动类配置
6.4创建Job任务类(Bean的方法模式)
注意
1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
6.5调度中心,新建调度任务
6.6 启动项目
6.7 通过任务调度中心,启动任务
6.8 观察调度日志,查看任务是否成功
猜你喜欢
- 2024-10-25 SnailJob - 分布式任务重试与调度平台
- 2024-10-25 牛逼,超过 300 家公司使用的开源任务调度系统
- 2024-10-25 分布式任务调度框架 micro-job(分布式任务调度框架选型)
- 2024-10-25 分布式任务调度框架light-task-scheduler
- 2024-10-25 jobs 分布式任务调度平台(分布式任务调度原理)
- 2024-10-25 使用LTS帮你解决分布式任务调度问题!
- 2024-10-25 Python的分布式计算框架——Dask调度器简介
- 2024-10-25 分布式任务调度平台——XXLJob安装教程
- 2024-10-25 二、XXL-JOB分布式任务调度平台——本地/JAR/WAR包部署篇
- 2024-10-25 三千字带你搞懂XXL-JOB任务调度平台
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)