XXL-Job适配GaussDB开源任务总结
简介:XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用
一 XXL-JOB适配GaussDB过程
1. 从 https://gitcode.com/xuxueli0323/xxl-job/overview,fork代码并下载
2. 创建:doc/tables_xxl_job_gaussdb.sql 文件,复制 doc/tables_xxl_job.sql 文件内容到 doc/tables_xxl_job_gaussdb.sql,参考postgresql语法修改tables_xxl_job_gaussdb.sql, 修改后的sql文件见代码仓库:https://gitcode.com/flygoods/xxl-job,中的:doc/tables_xxl_job_gaussdb.sql
4. 在gaussdb中执行:doc/tables_xxl_job_gaussdb.sql 中相关的sql语句
5. 修改xxl-job-admin模块下的pom.xml, 注释mysql的驱动包,引入gauss的驱动包
6. 修改application.properties
6.1 修改datasouce配置,修改后的如下:
6.2 注释掉:mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml ,所在行
7. 调整xml目录结构,调整后的结构如下图:
Mysql:存原有的xml
Gauss: 存适配gauss的xml
8. 参照postgresql的语法修改gauss目录下的xml文件中的sql语句,主要有:分页、ADD_DATE函数、!操作符的修改
9. 编写代码,根据不同数据库加载不同目录下的xml,主要代码如下:
10.push代码到xxl-job分支
二. 使用CodeArts部署xxl-job-adhmin镜像
2.1 maven版本:>=3.6.3,小于这个版本maven编译会报错
2.2 xxl-job-admin下的Dockerfile修改,原有配置会报错:找不到jar包
修改后的如下:
2.3. 在CCE中部署xxl-job-admin镜像,需要关联服务,用于访问xxl-job-admin
2.4. 访问: http://ip:port/xxl-job-admin/ , 检查服务是否正常运行
三 DEMO编写及部署验证
3.1. 编写DEMO
fork:https://gitcode.com/flygoods/OpenSourceForHuaweiDemoJava 仓库,并下载代码,创建xxl-job的分支,在resource-server中,引入依赖包后,配置执行器
accessToken要和xxl-job-adimin中配置的保持一致
3.2. 编写xxl-job的任务,示例如下:
3.3 push代码到gitcode,使用CodeArts编译、构建resource-server镜像
3.4 在CCE中部署resource-server镜像
四. 验证DEMO
4. 打开xxl-job-admin的访问界面
4.1 添加执行器:
执行器的应用的名称要和DEMO中配置的执行器名字一致
4.2 添加任务
执行器:上一步创建的执行器
运行模式:BEAN
JobHanler: printHello
5. 运行一次任务查看后,查看日志,执行成功会答应:0-9十个数字
总结:XXL-JOB适配其它数据库,可以参照GaussDB的适配过程,实现快速适配
- 点赞
- 收藏
- 关注作者
评论(0)