轻量级分布式任务调度平台是基于https://github.com/xuxueli/xxl-job进行修改的任务调度平台。
具体文档可以参照:http://www.xuxueli.com/xxl-job/
原生的xxl-job不支持dubbo,而是使用了作者自己开发的xxl-rpc。与我们目前的技术栈不符。
所以对xxl-job做了二次开发,使其支持dubbo的服务调用。
代码请看:https://github.com/noskystar/xxl-job
dubbo-springboot-starter是基于公司内部自己的dubbo-starter,如果想使用的同学,可以自己切换到dubbo官方的starter。
具体代码的修改逻辑就是将作者使用到xxl-rpc的地方都换成dubbo。
调度中心实现AdminBiz接口并将该服务注册成为dubbo服务,修改XxlJobExecutor文件。调用AdminBiz时改用dubbo的@Reference注解。
执行器如下:group即应用名
@Service(group = "xxl-job-executor",token = "XXXX") public class ExecutorCustomImpl extends ExecutorBizImpl implements ExecutorBiz { }
调度中心调用执行器时利用dubbo的ReferenceConfig<ExecutorBiz> ,应用名作为group名,还有ip和port直连dubbo。
※此处直连dubbo需要配置token。