xxl-job 源码分析系列(1)- 配置运行

  XXL-JOB是一个轻量级分布式任务调度平台,当然我司也在用,然后正巧自己想学一学源码分析,就挑正好在用的xxl-job了。

  文档地址:http://www.xuxueli.com/xxl-job/#/?id=%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0xxl-job%E3%80%8B

 下载

  很多朋友会奇怪,为什么源码分析要把配置运行放在第一篇,其实很简单的道理,只有项目运行起来了,才能知道它是怎么调用的,以及它的内部 Jetty 是如何调用和返回响应的。

  首先我是从 github 下载的代码 : https://github.com/xuxueli/xxl-job/

  然后就行下载 zip 包,然后解压。当然也可以直接 git clone。注意,我这里的版本是V1.9.2

  解压下来的项目如上图:

  xxl-job-admin:调度中心

  xxl-job-core:公共依赖

  xxl-job-executor:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器) :

          xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用,推荐这种方式;

             xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器;

               xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;

                                    xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;  

  初始化数据库

   然后初始化 sql 语句在 /xxl-job/doc/db/tables_xxl_job.sql 。 这里在执行的时候遇到了个小问题,主键长度超出 mysql 的限制了,当然可能是我们 数据库设置的问题,然后 我把主键的宽度 200 替换成 100,得到解决。而且其实我自己跑项目,本身也遇不到那么长的场景。

  执行 maven 编译源码

  配置 Tomcat 

    然后添加部署,当然我这里要执行 admin 项目,所以 部署的就是 admin 的 war

  修改配置文件

    修改数据库连接文件 xxl-job-admin.properties,换成你自己的数据库配置

  然后就可以启动了,运行成功后,会自动打开网页,正常登录即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何从Django应用程序发送Web推送通知

网络不断发展,现在可以实现以前只能在本机移动设备上使用的功能。JavaScript 服务工作者的引入为Web提供了新的功能,可以执行后台同步,脱机缓存和发送推送...

5786
来自专栏王小雷

React-Native-Android-Studio整合开发+环境配置+官方实例

linux下React Native开发环境搭建,使用Android-studio工具进行React Native整合开发。 参考React Native的...

5159
来自专栏做全栈攻城狮

采用React+Ant Design组件化开发前端界面(一)

注意:在webpack.config.dev.js添加的配置部分,也需要在webpack.config.prod.js中做相同的配置。否则可能导致项目发布上线后...

1172
来自专栏魏艾斯博客www.vpsss.net

WordPress 手动优化和插件优化 MySQL 数据库的方法

1332
来自专栏ionic3+

【技巧】ionic3优雅解决启动前、后黑白屏问题

启动前黑白屏问题,仅存在于android,是android应用的通病,ionic表示这锅它不背。 具体操作时,当我们点击桌面图标启动APP时,有时会闪一下黑色...

2646
来自专栏GIS讲堂

Openlayers4中地图的导出

本文讲述Openlayers4中地图的导出,包括调用天地图切片跨域、Geoserver11 WMS跨域等。

3092
来自专栏DevOps时代的专栏

占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题

持续集成(Continuous Integration,简称CI)是一种软件开发实践:许多团队频繁地集成他们的工作,每位成员通常进行日常集成,进而每天会有多种集...

1732
来自专栏搞前端的李蚊子

Vue.js实现一个SPA登录页面的过程

技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路...

1.1K12
来自专栏Web项目聚集地

什么是跨域?解决方案有哪些?

同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同...

3872
来自专栏老马寒门IT

08Vue.js快速入门-Vue综合实战项目

8.1. 前置知识学习 npm 学习 官方文档 推荐资料 npm入门 npm介绍 需要了解的知识点 package.json 文件相关配置选项 ...

4147

扫码关注云+社区

领取腾讯云代金券