XXL-Job适配GaussDB开源任务总结

举报
yd_255530874 发表于 2024/11/29 15:32:31 2024/11/29
【摘要】 XXL-JOB是一个分布式任务调度平台,本方法提供了一种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: 存适配gaussxml

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的适配过程,实现快速适配

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。