1. xxl-job简介

xxl-job是一个开源的分布式定时任务框架,它可以与其他微服务组件一起构成微服务集群。它的调度中心(xxl-job)和执行器(自己的springboot项目中有@XxlJob("定时任务名称")的方法)是相互分离,分开部署的,两者通过HTTP协议进行通信。

  将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。 将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。因此,“调度”和“任务”两部分可以相互解耦,提高系统整体稳定性和扩展性;

  1. springboot项目中集成xxl-job

参考链接:https://www.cnblogs.com/mingyue1818/p/16964434.html

遇到的问题:xxl-job-admin服务的application.proerties中,xxl.job.accessToken属性与springboot项目中配置的xxl.job.accessToken属性值保持一致,否则出现“The access token is wrong”错误。

  xxl.job.accessToken属性区分是否一致,还体现在“执行器管理”菜单列表中,注册方式为自动注册时,“Online机器地址”是否有值。

纠正上面链接中问题:在xxl-job管理端页面新增执行器时,机器地址,要填写业务端服务(即集成后自己的springboot项目)部署的IP地址,不是调度中心xxl-job-admin机器IP。

  1. @XxlJob 传入参问题(多个定时任务功能相似,可以只定义一个执行器,然后通过任务管理执行任务时,传入不同的参数)

// 获取参数

String param = XxlJobHelper.getJobParam();

logger.info("接收調度中心参数...[{}]",param);

也可传入json格式参数,XxlJobHelper.getJobParam();获取到就是json字符串。

参考:https://blog.csdn.net/qq_41389051/article/details/120864709

xxj-job配置文件说明:

例如:

xxl.job.executor.address=http://83.10.59.16:9999 

如果定义了address参数,则执行器自动注册时,会自动显示注册地址为该地址。也可手动注册更改。

xxl.job.executor.ip=83.10.59.16

xxl.job.executor.port=9999

定义了这俩参数,则执行器自动注册为本地址。

  1. xxl-job 集群搭建(包含调度中心的集群,和执行器的集群)

参考链接:https://blog.csdn.net/weixin_40816738/article/details/128159613

GitHub 加速计划 / xx / xxl-job
27.15 K
10.79 K
下载
xxl-job: 是一个分布式任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。
最近提交(Master分支:2 个月前 )
e5d26ba2 - 3 个月前
977ad87b - 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐