xxl-job执行器与服务端版本不一致导致的报错

1.错误

  1. 在开发过程中因为php无法直接接入xxl-job,所以使用了xxl-job-executor-samples/xxl-job-executor-sample-springboot 手动部署执行器,再由xxl-job服务端---->执行器---->php的方式。结果在调用执行器时发现执行器存在一下报错。
  2. 报错:unknown code for readObiect at @x43
    在这里插入图片描述

2.错误分析

  1. 从报错只能看出来大概是协议有问题,但是具体什么问题还是不清楚。猜测大概率是版本引起的,xxl-job从2.0之后使用的是rpc,1.x使用的是http。

  2. 根据这个猜测,第一步需要做的便是查看xxl-job的服务器版本和执行器的版本,xxl-job服务器我们使用的是2.1的,所以焦点集中在本次新增部署的执行器上面。

  3. 以下提供一个示例如何查看xxl-job的版本:
    因为xxl-job我们部署时都是以jar包方式部署的,如果懒的解压,可以通过vim编辑命令直接查看,找到对应的pom.xml文件,直接使用回车查看版本
    在这里插入图片描述
    在这里插入图片描述
    通过查看版本,我们基本上可以断定就是因为版本不一致造成的问题。

3. 错误解决

  1. 上面问题已经确定,解决问题就很简单。我们从github下载和服务版本一致的2.1源码,编译之后重新打包,重新部署执行器,问题解决。

具体源码路径及包见下图:
在这里插入图片描述

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XXL-Job执行器XXL-Job分布式任务调度平台中的一个核心组件,负责接收和执行调度中心发送的任务。执行器可以独立部署在各个执行节点上,通过与调度中心进行通信,实现任务的调度和执行。 XXL-Job执行器提供了丰富的功能和接口,主要包括以下几个方面: 1. 任务执行:执行器接收到调度中心发送的任务后,负责根据任务类型进行相应的执行。XXL-Job支持多种任务类型,如Shell任务、Java任务、Python任务等,执行器会根据任务类型来执行相应的逻辑。 2. 任务参数传递:执行器可以接收调度中心传递的任务参数,并将参数传递给具体的任务执行逻辑。任务参数可以在任务配置中进行设置,执行器会根据配置将参数传递给任务。 3. 任务结果回调:执行器在任务执行完成后,会将任务执行结果回调给调度中心。调度中心可以根据任务执行结果进行相应的处理,如记录日志、发送通知等。 4. 心跳检测:执行器会定期向调度中心发送心跳信息,用于告知调度中心自身的存活状态和可用性。调度中心可以通过心跳检测来监控执行器的健康状态。 5. 日志上报:执行器会将任务执行过程中的日志上报给调度中心,便于开发者查看任务的日志输出和排查问题。 XXL-Job执行器可以根据实际需求进行灵活的部署和配置,可以实现任务的并发执行和负载均衡,提高任务执行的效率和可靠性。同时,执行器还提供了可扩展的接口,可以与其他系统进行集成,满足更复杂的业务需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值