From 0d4207d960cf8ee762687c3097b11dbafb6fd9ff Mon Sep 17 00:00:00 2001 From: oliver <472591847@qq.com> Date: Mon, 24 Jun 2024 09:19:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E4=BA=BA=E5=A4=A7=E9=87=91?= =?UTF-8?q?=E4=BB=93=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 + snail-job-datasource/pom.xml | 1 + .../access/config/AbstractConfigAccess.java | 1 + .../access/task/AbstractTaskAccess.java | 1 + .../template/datasource/enums/DbTypeEnum.java | 3 +- .../snail-job-kingbase-datasource/.gitignore | 35 +++++++ .../snail-job-kingbase-datasource/pom.xml | 60 ++++++++++++ .../kingbase/mapper/JobLogMessageMapper.xml | 25 +++++ .../resources/kingbase/mapper/JobMapper.xml | 18 ++++ .../kingbase/mapper/JobSummaryMapper.xml | 97 +++++++++++++++++++ .../kingbase/mapper/RetryDeadLetterMapper.xml | 21 ++++ .../kingbase/mapper/RetrySummaryMapper.xml | 94 ++++++++++++++++++ .../kingbase/mapper/RetryTaskLogMapper.xml | 19 ++++ .../mapper/RetryTaskLogMessageMapper.xml | 37 +++++++ .../kingbase/mapper/RetryTaskMapper.xml | 32 ++++++ .../kingbase/mapper/ServerNodeMapper.xml | 39 ++++++++ .../kingbase/mapper/WorkflowMapper.xml | 18 ++++ .../lock/persistence/JdbcLockProvider.java | 1 + .../src/main/resources/application.yml | 5 + snail-job-server/snail-job-server-web/pom.xml | 4 + 20 files changed, 515 insertions(+), 1 deletion(-) create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/.gitignore create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/pom.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobLogMessageMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobSummaryMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryDeadLetterMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetrySummaryMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMessageMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/ServerNodeMapper.xml create mode 100644 snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/WorkflowMapper.xml diff --git a/pom.xml b/pom.xml index fe0c19c60..99a581f77 100644 --- a/pom.xml +++ b/pom.xml @@ -91,6 +91,11 @@ snail-job-postgres-datasource ${revision} + + com.aizuda + snail-job-kingbase-datasource + ${revision} + com.aizuda snail-job-oracle-datasource diff --git a/snail-job-datasource/pom.xml b/snail-job-datasource/pom.xml index 3566194c2..978a4f2b3 100644 --- a/snail-job-datasource/pom.xml +++ b/snail-job-datasource/pom.xml @@ -27,6 +27,7 @@ snail-job-oracle-datasource snail-job-sqlserver-datasource snail-job-datasource-template + snail-job-kingbase-datasource diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java index b89704d9c..4e152696d 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/config/AbstractConfigAccess.java @@ -47,6 +47,7 @@ public abstract class AbstractConfigAccess implements ConfigAccess { DbTypeEnum.MYSQL.getDb(), DbTypeEnum.MARIADB.getDb(), DbTypeEnum.POSTGRES.getDb(), + DbTypeEnum.KINGBASE_ES.getDb(), DbTypeEnum.ORACLE.getDb(), DbTypeEnum.SQLSERVER.getDb()); diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/task/AbstractTaskAccess.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/task/AbstractTaskAccess.java index 44f2a7983..a4e307cf6 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/task/AbstractTaskAccess.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/access/task/AbstractTaskAccess.java @@ -21,6 +21,7 @@ public abstract class AbstractTaskAccess implements TaskAccess { DbTypeEnum.MYSQL.getDb(), DbTypeEnum.MARIADB.getDb(), DbTypeEnum.POSTGRES.getDb(), + DbTypeEnum.KINGBASE_ES.getDb(), DbTypeEnum.ORACLE.getDb(), DbTypeEnum.SQLSERVER.getDb()); diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/enums/DbTypeEnum.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/enums/DbTypeEnum.java index bbe44ed14..ec8de7550 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/enums/DbTypeEnum.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/enums/DbTypeEnum.java @@ -19,7 +19,8 @@ public enum DbTypeEnum { MARIADB("mariadb", "MariaDB数据库", DbType.MARIADB), POSTGRES("postgresql", "Postgres数据库", DbType.POSTGRE_SQL), ORACLE("oracle", "Oracle数据库", DbType.ORACLE_12C), - SQLSERVER("sqlserver", "SQLServer数据库", DbType.SQL_SERVER); + SQLSERVER("sqlserver", "SQLServer数据库", DbType.SQL_SERVER), + KINGBASE_ES("kingbase", "人大金仓数据库", DbType.KINGBASE_ES); private final String db; private final String desc; diff --git a/snail-job-datasource/snail-job-kingbase-datasource/.gitignore b/snail-job-datasource/snail-job-kingbase-datasource/.gitignore new file mode 100644 index 000000000..a73f41410 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/.gitignore @@ -0,0 +1,35 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +.flattened-pom.xml diff --git a/snail-job-datasource/snail-job-kingbase-datasource/pom.xml b/snail-job-datasource/snail-job-kingbase-datasource/pom.xml new file mode 100644 index 000000000..d69a81085 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.aizuda + snail-job-datasource + ${revision} + ../pom.xml + + + snail-job-kingbase-datasource + snail-job-kingbase-datasource + snail-job-kingbase-datasource + jar + + + 17 + 8.6.0 + + + + + org.projectlombok + lombok + true + + + com.aizuda + snail-job-datasource-template + + + + cn.com.kingbase + kingbase8 + ${kingbase.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + none + execute + + + + + repackage + + + + + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobLogMessageMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobLogMessageMapper.xml new file mode 100644 index 000000000..ea9d5a862 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobLogMessageMapper.xml @@ -0,0 +1,25 @@ + + + + + + + INSERT INTO sj_job_log_message (namespace_id, group_name, job_id, task_batch_id, task_id, log_num, + message, create_dt, real_time) + VALUES + + ( + #{item.namespaceId}, + #{item.groupName}, + #{item.jobId}, + #{item.taskBatchId}, + #{item.taskId}, + #{item.logNum}, + #{item.message}, + #{item.createDt}, + #{item.realTime} + ) + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobMapper.xml new file mode 100644 index 000000000..d70be5085 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobMapper.xml @@ -0,0 +1,18 @@ + + + + + + UPDATE sj_job AS rt + SET next_trigger_at = tt.next_trigger_at + FROM ( + + SELECT + #{item.id} AS id, + #{item.nextTriggerAt} AS next_trigger_at + + ) AS tt + WHERE rt.id = tt.id + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobSummaryMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobSummaryMapper.xml new file mode 100644 index 000000000..596923e34 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/JobSummaryMapper.xml @@ -0,0 +1,97 @@ + + + + + + INSERT INTO sj_job_summary (namespace_id, group_name, business_id, trigger_at, system_task_type, + success_num,fail_num,fail_reason,stop_num,stop_reason, cancel_num,cancel_reason) + VALUES + + ( + #{item.namespaceId}, + #{item.groupName}, + #{item.businessId}, + #{item.triggerAt}, + #{item.systemTaskType}, + #{item.successNum}, + #{item.failNum}, + #{item.failReason}, + #{item.stopNum}, + #{item.stopReason}, + #{item.cancelNum}, + #{item.cancelReason} + ) + + + + + UPDATE sj_job_summary AS rt + SET success_num = tt.success_num, + fail_num = tt.fail_num, + fail_reason = tt.fail_reason, + stop_num = tt.stop_num, + stop_reason = tt.stop_reason, + cancel_num = tt.cancel_num, + cancel_reason = tt.cancel_reason + FROM ( + + SELECT + #{item.successNum} AS success_num, + #{item.failNum} AS fail_num, + #{item.failReason} AS fail_reason, + #{item.stopNum} AS stop_num, + #{item.stopReason} AS stop_reason, + #{item.cancelNum} AS cancel_num, + #{item.cancelReason} AS cancel_reason, + #{item.systemTaskType} AS system_task_type, + #{item.businessId} AS business_id, + #{item.triggerAt} AS trigger_at + + ) AS tt + WHERE rt.system_task_type = tt.system_task_type + AND rt.business_id = tt.business_id + AND rt.trigger_at = tt.trigger_at + + + + + + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryDeadLetterMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryDeadLetterMapper.xml new file mode 100644 index 000000000..55a094f1e --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryDeadLetterMapper.xml @@ -0,0 +1,21 @@ + + + + + + INSERT INTO sj_retry_dead_letter (namespace_id, unique_id, group_name, scene_name, + idempotent_id, biz_no, executor_name, args_str, + ext_attrs, create_dt) + VALUES + + ( + #{retryDeadLetter.namespaceId,jdbcType=VARCHAR}, #{retryDeadLetter.uniqueId,jdbcType=VARCHAR}, + #{retryDeadLetter.groupName,jdbcType=VARCHAR}, #{retryDeadLetter.sceneName,jdbcType=VARCHAR}, + #{retryDeadLetter.idempotentId,jdbcType=VARCHAR}, #{retryDeadLetter.bizNo,jdbcType=VARCHAR}, + #{retryDeadLetter.executorName,jdbcType=VARCHAR}, #{retryDeadLetter.argsStr,jdbcType=VARCHAR}, + #{retryDeadLetter.extAttrs,jdbcType=VARCHAR}, #{retryDeadLetter.createDt,jdbcType=TIMESTAMP} + ) + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetrySummaryMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetrySummaryMapper.xml new file mode 100644 index 000000000..52315f965 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetrySummaryMapper.xml @@ -0,0 +1,94 @@ + + + + + + INSERT INTO sj_retry_summary (namespace_id, group_name, scene_name, trigger_at, + running_num, finish_num, max_count_num, suspend_num) + VALUES + + ( + #{item.namespaceId}, + #{item.groupName}, + #{item.sceneName}, + #{item.triggerAt}, + #{item.runningNum}, + #{item.finishNum}, + #{item.maxCountNum}, + #{item.suspendNum} + ) + + + + + UPDATE sj_retry_summary AS rt + SET running_num = tt.running_num, + finish_num = tt.finish_num, + max_count_num = tt.max_count_num, + suspend_num = tt.suspend_num + FROM ( + + SELECT + #{item.runningNum} AS running_num, + #{item.finishNum} AS finish_num, + #{item.maxCountNum} AS max_count_num, + #{item.suspendNum} AS suspend_num, + #{item.triggerAt} AS trigger_at, + #{item.sceneName} AS scene_name, + #{item.namespaceId} AS namespace_id, + #{item.groupName} AS group_name + + ) AS tt + WHERE rt.trigger_at = tt.trigger_at + AND rt.group_name = tt.group_name + AND rt.namespace_id = tt.namespace_id + AND rt.scene_name = tt.scene_name + + + + + + + + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMapper.xml new file mode 100644 index 000000000..a44588c96 --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMapper.xml @@ -0,0 +1,19 @@ + + + + + + + INSERT INTO sj_retry_task_log (unique_id, group_name, scene_name, idempotent_id, biz_no, executor_name, + args_str, ext_attrs, task_type, create_dt, namespace_id) + VALUES + + ( + #{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, + #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, + #{item.taskType}, #{item.createDt}, #{item.namespaceId} + ) + + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMessageMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMessageMapper.xml new file mode 100644 index 000000000..c9eeff64c --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskLogMessageMapper.xml @@ -0,0 +1,37 @@ + + + + + + INSERT INTO sj_retry_task_log_message (namespace_id, group_name, unique_id, log_num, message, + create_dt, real_time) + VALUES + + ( + #{item.namespaceId}, + #{item.groupName}, + #{item.uniqueId}, + #{item.logNum}, + #{item.message}, + #{item.createDt}, + #{item.realTime} + ) + + + + + UPDATE sj_retry_task_log_message rt, + ( + + SELECT + #{item.id} AS id, + #{item.message} AS message, + #{item.logNum} AS log_num + + ) tt + SET rt.message = tt.message, + rt.log_num = tt.log_num + WHERE rt.id = tt.id + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskMapper.xml new file mode 100644 index 000000000..69071c03f --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/RetryTaskMapper.xml @@ -0,0 +1,32 @@ + + + + + + + INSERT INTO sj_retry_task (namespace_id, unique_id, group_name, scene_name, + idempotent_id, biz_no, executor_name, args_str, ext_attrs, + next_trigger_at, task_type, retry_status, create_dt) + VALUES + + ( + #{item.namespaceId}, #{item.uniqueId}, #{item.groupName}, + #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, + #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt} + ) + + + + + UPDATE sj_retry_task_${partition} AS rt + SET next_trigger_at = tt.next_trigger_at + FROM ( + + SELECT + #{item.id} AS id, + #{item.nextTriggerAt} AS next_trigger_at + + ) AS tt + WHERE rt.id = tt.id + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/ServerNodeMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/ServerNodeMapper.xml new file mode 100644 index 000000000..29768c82b --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/ServerNodeMapper.xml @@ -0,0 +1,39 @@ + + + + + + INSERT INTO sj_server_node (namespace_id, group_name, host_id, host_ip, host_port, + expire_at, node_type, ext_attrs, create_dt) + VALUES + + ( + #{item.namespaceId,jdbcType=VARCHAR}, + #{item.groupName,jdbcType=VARCHAR}, + #{item.hostId,jdbcType=VARCHAR}, + #{item.hostIp,jdbcType=VARCHAR}, + #{item.hostPort,jdbcType=INTEGER}, + #{item.expireAt,jdbcType=TIMESTAMP}, + #{item.nodeType,jdbcType=TINYINT}, + #{item.extAttrs,jdbcType=VARCHAR}, + #{item.createDt,jdbcType=TIMESTAMP} + ) + + + + + UPDATE sj_server_node AS rt + SET expire_at = tt.expire_at + FROM ( + + SELECT + #{item.hostId} AS host_id, + #{item.hostIp} AS host_ip, + #{item.expireAt} AS expire_at + + ) AS tt + WHERE rt.host_id = tt.host_id + AND rt.host_ip = tt.host_ip + + + diff --git a/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/WorkflowMapper.xml b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/WorkflowMapper.xml new file mode 100644 index 000000000..56bc8eb8c --- /dev/null +++ b/snail-job-datasource/snail-job-kingbase-datasource/src/main/resources/kingbase/mapper/WorkflowMapper.xml @@ -0,0 +1,18 @@ + + + + + + UPDATE sj_workflow AS rt + SET next_trigger_at = tt.next_trigger_at + FROM ( + + SELECT + #{item.id} AS id, + #{item.nextTriggerAt} AS next_trigger_at + + ) AS tt + WHERE rt.id = tt.id + + + diff --git a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/lock/persistence/JdbcLockProvider.java b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/lock/persistence/JdbcLockProvider.java index 93092b4e7..b6b3de8f6 100644 --- a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/lock/persistence/JdbcLockProvider.java +++ b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/lock/persistence/JdbcLockProvider.java @@ -44,6 +44,7 @@ public class JdbcLockProvider implements LockStorage, Lifecycle { DbTypeEnum.MYSQL.getDb(), DbTypeEnum.MARIADB.getDb(), DbTypeEnum.POSTGRES.getDb(), + DbTypeEnum.KINGBASE_ES.getDb(), DbTypeEnum.ORACLE.getDb(), DbTypeEnum.SQLSERVER.getDb()); diff --git a/snail-job-server/snail-job-server-starter/src/main/resources/application.yml b/snail-job-server/snail-job-server-starter/src/main/resources/application.yml index 650197ea6..41504606e 100644 --- a/snail-job-server/snail-job-server-starter/src/main/resources/application.yml +++ b/snail-job-server/snail-job-server-starter/src/main/resources/application.yml @@ -15,6 +15,11 @@ spring: url: jdbc:mysql://localhost:3306/snail_job?useSSL=false&characterEncoding=utf8&useUnicode=true username: root password: root + ## kingbase + # driver-class-name: com.kingbase8.Driver + # url: jdbc:kingbase8://localhost:5432/snail_job?currentSchema=public&useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true + # username: kingbase + # password: 123456 ## postgres # driver-class-name: org.postgresql.Driver # url: jdbc:postgresql://localhost:5432/snail_job?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true diff --git a/snail-job-server/snail-job-server-web/pom.xml b/snail-job-server/snail-job-server-web/pom.xml index 48e5eb2b5..3edff0b5b 100644 --- a/snail-job-server/snail-job-server-web/pom.xml +++ b/snail-job-server/snail-job-server-web/pom.xml @@ -51,6 +51,10 @@ com.aizuda snail-job-postgres-datasource + + com.aizuda + snail-job-kingbase-datasource + com.aizuda snail-job-mariadb-datasource