开源调度平台XXL-JOB集成dubbo

本文介绍如何在轻量级分布式任务调度平台XXL-JOB中集成Dubbo,实现调度中心直接调用Dubbo服务。通过泛化调用方式,无需额外开发和部署,仅需在调度中心维护任务数据即可。文章详细描述了集成步骤,包括任务属性的增加、zk配置、新IJobHandler的创建及日志调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于XXL-JOB

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

项目github地址

平台通过部署调度中心,使用java调度框架Quartz远程调用执行器项目来完成调度任务。调度中心只用来执行调度任务,记录调度日志,具体任务通过执行器项目被调用执行。

原生平台不支持调用dubbo,原因作者已经在github上的Issues上回答了。为了尽量保持轻量,减少对zk的依赖。

为什么要集成dubbo

我们公司现在的rpc框架使用的是dubbo,对于这些我们来说,我们需要借用XXL-JOB的调度中心的来调用服务。这些服务已经通过dubbo对外提供了,为了能让调度中心使用而在对应的服务工程下添加执行器并不是我们想要的,调度中心直接调用dubbo服务才是最合理的解决方案。

集成步骤

集成dubbo考虑使用dubbo的泛化调用来实现,好处是不用事先将dubbo的消费服务配置到调度中心的配置文件中,而是通过增加XXL-JOB的任务属性,通过任务数据来描述dubbo服务。

增加任务不需要额外的开发和部署工作,而只是在调度中心里维护任务数据而已。

  1. 先对任务设置做一些小改动
    在这里插入图片描述
    新增DubboMethod和DubboVersion两个描述,数据库任务表也需对应增加。

  2. 增加zk配置
    调用dubbo服务需要有zk地址信息,这个没什么好说的。

  3. 创建新的IJobHandler,实现dubbo的泛化调用

// reference需要在handle的构造函数中初始化
// 用com.alibaba.dubbo.rpc.service.GenericService可以替代所有接口引用
GenericService genericService = 
					ReferenceConfigCache.getCache()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值