分布式任务框架:xxl-job 使用问题整理
一 问题描述
部署方式:源码部署
使用阶段: 本地调试
已进行了执行器配置,因为自动注册总是失败,所以选择手动录入:
问题:
手动录入执行器 及其地址,保存后,执行任务时报错。信息如下:
二 分析过程
这个问题很奇怪,而找了很多资料也没有能正确解决。查到的有以下几种:
1、忘记配置执行器地址,
如前文所示,已经完成配置,排除;
2、域名/ip 地址配置
按照 xxl-job 文档对照,查看自己本地工程的配置,确认无误。
查到的资料都不可靠,放弃。直接从日志查找,捋代码确认位置:
xxl-job-executor-sample-springboot.log
日志中可见,注册相关步骤,会请求链接: http://127.0.0.1:9998/run,也看到是这个接口报错。(404)。那么就好办了,我们回到代码,找到这个方法,看是什么原因导致了这个问题。
代码位置:xxl-job-executor-samples => xxl-job-executor-sample-springboot => com.xxl.job.executor.mvc.controller.IndexController.java
目前代码如下:
可以看到,代码被注释掉了。。。所以才会 404
三 解决方法
取消注释,我本地把这段代码修改如下:
重新启动,配置、执行成功。
四 总结
开源工具的好处是可以直接看到源码,并根据源码来学习优秀的代码风格和设计方式。不过,开源也意味着可能会遇到各种各样的问题,而社区的问题未必都能够覆盖,紧急时需要我们自己尽可能快地定位和解决问题,避免影响整体进度和线上环境。所以,简单的拿来主义是不可以的,切记。
附录:
XXL-JOB 项目地址:https://github.com/xuxueli/xxl-job
版权声明: 本文为 InfoQ 作者【程序员架构进阶】的原创文章。
原文链接:【http://xie.infoq.cn/article/6b1b65a60c226a1df1af1f6d6】。文章转载请联系作者。
评论