xxl-job使用
xxl-job简介
xxl-job是一个开源的分布式定时任务框架,它可以与其他微服务组件一起构成微服务集群。它的调度中心(xxl-job)和执行器(自己的springboot项目中有@XxlJob("定时任务名称")的方法)是相互分离,分开部署的,两者通过HTTP协议进行通信。
将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。 将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。因此,“调度”和“任务”两部分可以相互解耦,提高系统整体稳定性和扩展性;
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。
@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
定义了这俩参数,则执行器自动注册为本地址。
xxl-job 集群搭建(包含调度中心的集群,和执行器的集群)
参考链接:https://blog.csdn.net/weixin_40816738/article/details/128159613
更多推荐
所有评论(0)