Browse Source

!366 add trace id
Merge pull request !366 from AE86/dev

AE86 3 tuần trước cách đây
mục cha
commit
7608c87b79
38 tập tin đã thay đổi với 136 bổ sung116 xóa
  1. 3 3
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/BufferActuatorMetricEnum.java
  2. 0 41
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/OracleIncrementEnum.java
  3. 1 1
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/SafeInfoEnum.java
  4. 1 1
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/StatisticEnum.java
  5. 1 1
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/ThreadPoolMetricEnum.java
  6. 2 2
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/UserRoleEnum.java
  7. 1 1
      dbsyncer-common/src/main/java/org/dbsyncer/common/enums/FileSuffixEnum.java
  8. 2 2
      dbsyncer-connector/dbsyncer-connector-elasticsearch/src/main/java/org/dbsyncer/connector/elasticsearch/enums/ESFieldTypeEnum.java
  9. 3 3
      dbsyncer-connector/dbsyncer-connector-kafka/src/main/java/org/dbsyncer/connector/kafka/enums/KafkaFieldTypeEnum.java
  10. 2 2
      dbsyncer-connector/dbsyncer-connector-postgresql/src/main/java/org/dbsyncer/connector/postgresql/enums/MessageDecoderEnum.java
  11. 4 4
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/CommandEnum.java
  12. 4 4
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/ConvertEnum.java
  13. 1 1
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/GroupStrategyEnum.java
  14. 2 12
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/MetaEnum.java
  15. 2 2
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/ParserEnum.java
  16. 2 0
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/flush/impl/GeneralBufferActuator.java
  17. 9 0
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/AbstractWriter.java
  18. 1 0
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/WriterRequest.java
  19. 4 3
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/database/AbstractDatabaseConnector.java
  20. 3 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ChangedEventTypeEnum.java
  21. 3 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/DDLOperationEnum.java
  22. 2 2
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/FilterEnum.java
  23. 1 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/FilterTypeEnum.java
  24. 1 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ListenerTypeEnum.java
  25. 2 10
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ModelEnum.java
  26. 4 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/OperationEnum.java
  27. 9 6
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/QuartzFilterEnum.java
  28. 4 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/SortEnum.java
  29. 5 2
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/SqlBuilderEnum.java
  30. 1 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/StorageEnum.java
  31. 2 2
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/StorageStrategyEnum.java
  32. 4 1
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/TableTypeEnum.java
  33. 10 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/ChangedEvent.java
  34. 14 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/event/CommonChangedEvent.java
  35. 11 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/plugin/AbstractPluginContext.java
  36. 7 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/plugin/PluginContext.java
  37. 4 1
      dbsyncer-storage/src/main/java/org/dbsyncer/storage/enums/BinlogByteEnum.java
  38. 4 4
      dbsyncer-storage/src/main/java/org/dbsyncer/storage/enums/StorageDataStatusEnum.java

+ 3 - 3
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/BufferActuatorMetricEnum.java

@@ -22,9 +22,9 @@ public enum BufferActuatorMetricEnum {
      */
      */
     TABLE_GROUP("buffer.actuator.table.group", "表执行器", "");
     TABLE_GROUP("buffer.actuator.table.group", "表执行器", "");
 
 
-    private String code;
-    private String group;
-    private String metricName;
+    private final String code;
+    private final String group;
+    private final String metricName;
 
 
     BufferActuatorMetricEnum(String code, String group, String metricName) {
     BufferActuatorMetricEnum(String code, String group, String metricName) {
         this.code = code;
         this.code = code;

+ 0 - 41
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/OracleIncrementEnum.java

@@ -1,41 +0,0 @@
-package org.dbsyncer.biz.enums;
-
-/**
- * Oralce参数配置
- *
- * @author AE86
- * @version 1.0.0
- * @date 2021/4/28 23:21
- */
-public enum OracleIncrementEnum {
-
-    /**
-     * ROWIDTOCHAR(ROWID) 列名
-     */
-    ROW_ID("ROWIDTOCHAR(ROWID)"),
-    /**
-     * ORACLE_ROW_ID 别名
-     */
-    ROW_ID_LABEL_NAME("ORACLE_ROW_ID");
-
-    private String name;
-
-    OracleIncrementEnum(String name) {
-        this.name = name;
-    }
-
-    /**
-     * 是否ROWIDTOCHAR(ROWID) 列名
-     *
-     * @param name
-     * @return
-     */
-    public static boolean isRowId(String name) {
-        return ROW_ID.getName().equals(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}

+ 1 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/SafeInfoEnum.java

@@ -14,7 +14,7 @@ public enum SafeInfoEnum {
      */
      */
     PASSWORD("password");
     PASSWORD("password");
 
 
-    private String code;
+    private final String code;
 
 
     SafeInfoEnum(String code) {
     SafeInfoEnum(String code) {
         this.code = code;
         this.code = code;

+ 1 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/StatisticEnum.java

@@ -42,7 +42,7 @@ public enum StatisticEnum {
      */
      */
     DURATION("duration");
     DURATION("duration");
 
 
-    private String tagValueRepresentation;
+    private final String tagValueRepresentation;
 
 
     StatisticEnum(String tagValueRepresentation) {
     StatisticEnum(String tagValueRepresentation) {
         this.tagValueRepresentation = tagValueRepresentation;
         this.tagValueRepresentation = tagValueRepresentation;

+ 1 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/ThreadPoolMetricEnum.java

@@ -30,7 +30,7 @@ public enum ThreadPoolMetricEnum {
      */
      */
     REMAINING_CAPACITY("空闲队列");
     REMAINING_CAPACITY("空闲队列");
 
 
-    private String metricName;
+    private final String metricName;
 
 
     ThreadPoolMetricEnum(String metricName) {
     ThreadPoolMetricEnum(String metricName) {
         this.metricName = metricName;
         this.metricName = metricName;

+ 2 - 2
dbsyncer-biz/src/main/java/org/dbsyncer/biz/enums/UserRoleEnum.java

@@ -21,9 +21,9 @@ public enum UserRoleEnum {
      */
      */
     USER("user", "普通用户");
     USER("user", "普通用户");
 
 
-    private String code;
+    private final String code;
 
 
-    private String name;
+    private final String name;
 
 
     UserRoleEnum(String code, String name) {
     UserRoleEnum(String code, String name) {
         this.code = code;
         this.code = code;

+ 1 - 1
dbsyncer-common/src/main/java/org/dbsyncer/common/enums/FileSuffixEnum.java

@@ -21,7 +21,7 @@ public enum FileSuffixEnum {
      */
      */
     JSON("json");
     JSON("json");
 
 
-    private String name;
+    private final String name;
 
 
     FileSuffixEnum(String name) {
     FileSuffixEnum(String name) {
         this.name = name;
         this.name = name;

+ 2 - 2
dbsyncer-connector/dbsyncer-connector-elasticsearch/src/main/java/org/dbsyncer/connector/elasticsearch/enums/ESFieldTypeEnum.java

@@ -75,8 +75,8 @@ public enum ESFieldTypeEnum {
     GEO_SHAPE("geo_shape", Types.VARCHAR),
     GEO_SHAPE("geo_shape", Types.VARCHAR),
     BINARY("binary", Types.BINARY);
     BINARY("binary", Types.BINARY);
 
 
-    private String code;
-    private int type;
+    private final String code;
+    private final int type;
 
 
     ESFieldTypeEnum(String code, int type) {
     ESFieldTypeEnum(String code, int type) {
         this.code = code;
         this.code = code;

+ 3 - 3
dbsyncer-connector/dbsyncer-connector-kafka/src/main/java/org/dbsyncer/connector/kafka/enums/KafkaFieldTypeEnum.java

@@ -39,9 +39,9 @@ public enum KafkaFieldTypeEnum {
     TIME("Time", Time.class, Types.TIME),
     TIME("Time", Time.class, Types.TIME),
     TIMESTAMP("Timestamp", Timestamp.class, Types.TIMESTAMP);
     TIMESTAMP("Timestamp", Timestamp.class, Types.TIMESTAMP);
 
 
-    private String code;
-    private Class clazz;
-    private int type;
+    private final String code;
+    private final Class clazz;
+    private final int type;
 
 
     KafkaFieldTypeEnum(String code, Class clazz, int type) {
     KafkaFieldTypeEnum(String code, Class clazz, int type) {
         this.code = code;
         this.code = code;

+ 2 - 2
dbsyncer-connector/dbsyncer-connector-postgresql/src/main/java/org/dbsyncer/connector/postgresql/enums/MessageDecoderEnum.java

@@ -26,8 +26,8 @@ public enum MessageDecoderEnum {
      */
      */
     PG_OUTPUT("pgoutput", PgOutputMessageDecoder.class);
     PG_OUTPUT("pgoutput", PgOutputMessageDecoder.class);
 
 
-    private String type;
-    private Class<?> clazz;
+    private final String type;
+    private final Class<?> clazz;
 
 
     MessageDecoderEnum(String type, Class<?> clazz) {
     MessageDecoderEnum(String type, Class<?> clazz) {
         this.type = type;
         this.type = type;

+ 4 - 4
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/CommandEnum.java

@@ -65,22 +65,22 @@ public enum CommandEnum {
     /**
     /**
      * 命令类型
      * 命令类型
      */
      */
-    private String modelType;
+    private final String modelType;
 
 
     /**
     /**
      * 执行器
      * 执行器
      */
      */
-    private CommandExecutor commandExecutor;
+    private final CommandExecutor commandExecutor;
 
 
     /**
     /**
      * 是否预加载
      * 是否预加载
      */
      */
-    private boolean preload;
+    private final boolean preload;
 
 
     /**
     /**
      * 分组持久化策略
      * 分组持久化策略
      */
      */
-    private GroupStrategyEnum groupStrategyEnum;
+    private final GroupStrategyEnum groupStrategyEnum;
 
 
     CommandEnum(String modelType, CommandExecutor commandExecutor) {
     CommandEnum(String modelType, CommandExecutor commandExecutor) {
         this(modelType, commandExecutor, false);
         this(modelType, commandExecutor, false);

+ 4 - 4
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/ConvertEnum.java

@@ -108,13 +108,13 @@ public enum ConvertEnum {
     CLEAR("CLEAR", "清空", 0, new ClearHandler());
     CLEAR("CLEAR", "清空", 0, new ClearHandler());
 
 
     // 转换编码
     // 转换编码
-    private String code;
+    private final String code;
     // 转换名称
     // 转换名称
-    private String name;
+    private final String name;
     // 参数个数
     // 参数个数
-    private int argNum;
+    private final int argNum;
     // 转换实现
     // 转换实现
-    private Handler handler;
+    private final Handler handler;
 
 
     ConvertEnum(String code, String name, int argNum, Handler handler) {
     ConvertEnum(String code, String name, int argNum, Handler handler) {
         this.code = code;
         this.code = code;

+ 1 - 1
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/GroupStrategyEnum.java

@@ -28,7 +28,7 @@ public enum GroupStrategyEnum {
      */
      */
     TABLE(new TableGroupStrategy());
     TABLE(new TableGroupStrategy());
 
 
-    private GroupStrategy groupStrategy;
+    private final GroupStrategy groupStrategy;
 
 
     GroupStrategyEnum(GroupStrategy groupStrategy) {
     GroupStrategyEnum(GroupStrategy groupStrategy) {
         this.groupStrategy = groupStrategy;
         this.groupStrategy = groupStrategy;

+ 2 - 12
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/MetaEnum.java

@@ -1,7 +1,5 @@
 package org.dbsyncer.parser.enums;
 package org.dbsyncer.parser.enums;
 
 
-import org.dbsyncer.parser.ParserException;
-
 /**
 /**
  * 驱动状态枚举
  * 驱动状态枚举
  *
  *
@@ -24,8 +22,8 @@ public enum MetaEnum {
      */
      */
     STOPPING(2, "停止中");
     STOPPING(2, "停止中");
 
 
-    private int code;
-    private String message;
+    private final int code;
+    private final String message;
 
 
     MetaEnum(int code, String message) {
     MetaEnum(int code, String message) {
         this.code = code;
         this.code = code;
@@ -40,15 +38,7 @@ public enum MetaEnum {
         return code;
         return code;
     }
     }
 
 
-    public void setCode(int code) {
-        this.code = code;
-    }
-
     public String getMessage() {
     public String getMessage() {
         return message;
         return message;
     }
     }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
 }
 }

+ 2 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/ParserEnum.java

@@ -27,12 +27,12 @@ public enum ParserEnum {
     /**
     /**
      * 编码
      * 编码
      */
      */
-    private String code;
+    private final String code;
 
 
     /**
     /**
      * 默认值
      * 默认值
      */
      */
-    private int defaultValue;
+    private final int defaultValue;
 
 
     ParserEnum(String code, int defaultValue) {
     ParserEnum(String code, int defaultValue) {
         this.code = code;
         this.code = code;

+ 2 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/flush/impl/GeneralBufferActuator.java

@@ -114,6 +114,7 @@ public class GeneralBufferActuator extends AbstractBufferActuator<WriterRequest,
             response.setChangedOffset(request.getChangedOffset());
             response.setChangedOffset(request.getChangedOffset());
         }
         }
         if (!response.isMerged()) {
         if (!response.isMerged()) {
+            response.setTraceId(request.getTraceId());
             response.setTableName(request.getTableName());
             response.setTableName(request.getTableName());
             response.setEvent(request.getEvent());
             response.setEvent(request.getEvent());
             response.setTypeEnum(request.getTypeEnum());
             response.setTypeEnum(request.getTypeEnum());
@@ -198,6 +199,7 @@ public class GeneralBufferActuator extends AbstractBufferActuator<WriterRequest,
         context.setTargetConnectorInstance(connectorFactory.connect(getConnectorConfig(mapping.getTargetConnectorId())));
         context.setTargetConnectorInstance(connectorFactory.connect(getConnectorConfig(mapping.getTargetConnectorId())));
         context.setSourceTableName(tableGroup.getSourceTable().getName());
         context.setSourceTableName(tableGroup.getSourceTable().getName());
         context.setTargetTableName(tableGroup.getTargetTable().getName());
         context.setTargetTableName(tableGroup.getTargetTable().getName());
+        context.setTraceId(response.getTraceId());
         context.setEvent(response.getEvent());
         context.setEvent(response.getEvent());
         context.setTargetFields(tableGroupPicker.getTargetFields());
         context.setTargetFields(tableGroupPicker.getTargetFields());
         context.setCommand(tableGroup.getCommand());
         context.setCommand(tableGroup.getCommand());

+ 9 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/AbstractWriter.java

@@ -20,6 +20,8 @@ public abstract class AbstractWriter {
 
 
     private String sql;
     private String sql;
 
 
+    private String traceId;
+
     public ChangedEventTypeEnum getTypeEnum() {
     public ChangedEventTypeEnum getTypeEnum() {
         return typeEnum;
         return typeEnum;
     }
     }
@@ -60,4 +62,11 @@ public abstract class AbstractWriter {
         this.sql = sql;
         this.sql = sql;
     }
     }
 
 
+    public String getTraceId() {
+        return traceId;
+    }
+
+    public void setTraceId(String traceId) {
+        this.traceId = traceId;
+    }
 }
 }

+ 1 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/WriterRequest.java

@@ -15,6 +15,7 @@ public class WriterRequest extends AbstractWriter implements BufferRequest {
     private final List<Object> row;
     private final List<Object> row;
 
 
     public WriterRequest(ChangedEvent event) {
     public WriterRequest(ChangedEvent event) {
+        setTraceId(event.getTraceId());
         setTypeEnum(event.getType());
         setTypeEnum(event.getType());
         setChangedOffset(event.getChangedOffset());
         setChangedOffset(event.getChangedOffset());
         setTableName(event.getSourceTableName());
         setTableName(event.getSourceTableName());

+ 4 - 3
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/database/AbstractDatabaseConnector.java

@@ -582,7 +582,7 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
             }
             }
             final String event = existRow(connectorInstance, queryCount, args) ? ConnectorConstant.OPERTION_UPDATE
             final String event = existRow(connectorInstance, queryCount, args) ? ConnectorConstant.OPERTION_UPDATE
                     : ConnectorConstant.OPERTION_INSERT;
                     : ConnectorConstant.OPERTION_INSERT;
-            logger.warn("{}表执行{}失败, 重新执行{}, {}", context.getTargetTableName(), context.getEvent(), event, row);
+            logger.warn("{} {}表执行{}失败, 重新执行{}, {}", context.getTraceId(), context.getTargetTableName(), context.getEvent(), event, row);
             writer(result, connectorInstance, context, pkFields, row, event);
             writer(result, connectorInstance, context, pkFields, row, event);
         }
         }
     }
     }
@@ -607,12 +607,13 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
             // 2、设置参数
             // 2、设置参数
             int execute = connectorInstance.execute(databaseTemplate -> databaseTemplate.update(sql, batchRow(fields, row)));
             int execute = connectorInstance.execute(databaseTemplate -> databaseTemplate.update(sql, batchRow(fields, row)));
             if (execute == 0) {
             if (execute == 0) {
-                throw new SdkException(String.format("尝试执行[%s]失败", event));
+                throw new SdkException(String.format("%s 尝试执行[%s]失败", context.getTraceId(), event));
             }
             }
             result.getSuccessData().add(row);
             result.getSuccessData().add(row);
         } catch (Exception e) {
         } catch (Exception e) {
             result.getFailData().add(row);
             result.getFailData().add(row);
-            result.getError().append("SQL:").append(sql).append(System.lineSeparator())
+            result.getError().append(context.getTraceId())
+                    .append(" SQL:").append(sql).append(System.lineSeparator())
                     .append("DATA:").append(row).append(System.lineSeparator())
                     .append("DATA:").append(row).append(System.lineSeparator())
                     .append("ERROR:").append(e.getMessage()).append(System.lineSeparator());
                     .append("ERROR:").append(e.getMessage()).append(System.lineSeparator());
             logger.error("执行{}失败: {}, DATA:{}", event, e.getMessage(), row);
             logger.error("执行{}失败: {}, DATA:{}", event, e.getMessage(), row);

+ 3 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ChangedEventTypeEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 /**
 /**

+ 3 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/DDLOperationEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 /**
 /**

+ 2 - 2
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/FilterEnum.java

@@ -65,9 +65,9 @@ public enum FilterEnum {
     });
     });
 
 
     // 运算符名称
     // 运算符名称
-    private String name;
+    private final String name;
     // 比较器
     // 比较器
-    private CompareFilter compareFilter;
+    private final CompareFilter compareFilter;
 
 
     FilterEnum(String name, CompareFilter compareFilter) {
     FilterEnum(String name, CompareFilter compareFilter) {
         this.name = name;
         this.name = name;

+ 1 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/FilterTypeEnum.java

@@ -22,7 +22,7 @@ public enum FilterTypeEnum {
      */
      */
     LONG("long");
     LONG("long");
 
 
-    private String type;
+    private final String type;
 
 
     FilterTypeEnum(String type) {
     FilterTypeEnum(String type) {
         this.type = type;
         this.type = type;

+ 1 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ListenerTypeEnum.java

@@ -18,7 +18,7 @@ public enum ListenerTypeEnum {
      */
      */
     LOG("log");
     LOG("log");
 
 
-    private String type;
+    private final String type;
 
 
     ListenerTypeEnum(String type) {
     ListenerTypeEnum(String type) {
         this.type = type;
         this.type = type;

+ 2 - 10
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/ModelEnum.java

@@ -24,8 +24,8 @@ public enum ModelEnum {
      */
      */
     INCREMENT("increment", "增量");
     INCREMENT("increment", "增量");
 
 
-    private String code;
-    private String name;
+    private final String code;
+    private final String name;
 
 
     ModelEnum(String code, String name) {
     ModelEnum(String code, String name) {
         this.code = code;
         this.code = code;
@@ -49,15 +49,7 @@ public enum ModelEnum {
         return code;
         return code;
     }
     }
 
 
-    public void setCode(String code) {
-        this.code = code;
-    }
-
     public String getName() {
     public String getName() {
         return name;
         return name;
     }
     }
-
-    public void setName(String name) {
-        this.name = name;
-    }
 }
 }

+ 4 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/OperationEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 /**
 /**
@@ -19,7 +22,7 @@ public enum OperationEnum {
     OR("or");
     OR("or");
 
 
     // 描述
     // 描述
-    private String name;
+    private final String name;
 
 
     OperationEnum(String name) {
     OperationEnum(String name) {
         this.name = name;
         this.name = name;

+ 9 - 6
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/QuartzFilterEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 import org.dbsyncer.common.util.StringUtil;
 import org.dbsyncer.common.util.StringUtil;
@@ -47,12 +50,12 @@ public enum QuartzFilterEnum {
      */
      */
     TIME_STAMP_YES_END(8, "$timestamp_yes_end$", "系统昨天时间戳(结束23:59:59)", new YesTimestampFilter(false));
     TIME_STAMP_YES_END(8, "$timestamp_yes_end$", "系统昨天时间戳(结束23:59:59)", new YesTimestampFilter(false));
 
 
-    private Integer index;
-    private String type;
-    private String message;
-    private QuartzFilter quartzFilter;
+    private final int index;
+    private final String type;
+    private final String message;
+    private final QuartzFilter quartzFilter;
 
 
-    QuartzFilterEnum(Integer index, String type, String message, QuartzFilter quartzFilter) {
+    QuartzFilterEnum(int index, String type, String message, QuartzFilter quartzFilter) {
         this.index = index;
         this.index = index;
         this.type = type;
         this.type = type;
         this.message = message;
         this.message = message;
@@ -72,7 +75,7 @@ public enum QuartzFilterEnum {
         return null;
         return null;
     }
     }
 
 
-    public Integer getIndex() {
+    public int getIndex() {
         return index;
         return index;
     }
     }
 
 

+ 4 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/SortEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 /**
 /**
@@ -21,7 +24,7 @@ public enum SortEnum {
         this.code = code;
         this.code = code;
     }
     }
 
 
-    private String code;
+    private final String code;
 
 
     public String getCode() {
     public String getCode() {
         return code;
         return code;

+ 5 - 2
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/SqlBuilderEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 import org.dbsyncer.sdk.constant.ConnectorConstant;
 import org.dbsyncer.sdk.constant.ConnectorConstant;
@@ -49,12 +52,12 @@ public enum SqlBuilderEnum {
     /**
     /**
      * SQL构造器名称
      * SQL构造器名称
      */
      */
-    private String name;
+    private final String name;
 
 
     /**
     /**
      * SQL构造器
      * SQL构造器
      */
      */
-    private SqlBuilder sqlBuilder;
+    private final SqlBuilder sqlBuilder;
 
 
     SqlBuilderEnum(String name, SqlBuilder sqlBuilder) {
     SqlBuilderEnum(String name, SqlBuilder sqlBuilder) {
         this.name = name;
         this.name = name;

+ 1 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/StorageEnum.java

@@ -23,7 +23,7 @@ public enum StorageEnum {
      */
      */
     DATA("data");
     DATA("data");
 
 
-    private String type;
+    private final String type;
 
 
     StorageEnum(String type) {
     StorageEnum(String type) {
         this.type = type;
         this.type = type;

+ 2 - 2
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/StorageStrategyEnum.java

@@ -33,8 +33,8 @@ public enum StorageStrategyEnum {
      */
      */
     LOG(StorageEnum.LOG, new LogStrategy());
     LOG(StorageEnum.LOG, new LogStrategy());
 
 
-    private StorageEnum type;
-    private Strategy strategy;
+    private final StorageEnum type;
+    private final Strategy strategy;
 
 
     StorageStrategyEnum(StorageEnum type, Strategy strategy) {
     StorageStrategyEnum(StorageEnum type, Strategy strategy) {
         this.type = type;
         this.type = type;

+ 4 - 1
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/enums/TableTypeEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.sdk.enums;
 package org.dbsyncer.sdk.enums;
 
 
 /**
 /**
@@ -24,7 +27,7 @@ public enum TableTypeEnum {
      */
      */
     MATERIALIZED_VIEW("MATERIALIZED VIEW");
     MATERIALIZED_VIEW("MATERIALIZED VIEW");
 
 
-    private String code;
+    private final String code;
 
 
     TableTypeEnum(String code) {
     TableTypeEnum(String code) {
         this.code = code;
         this.code = code;

+ 10 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/ChangedEvent.java

@@ -20,6 +20,16 @@ import java.util.List;
  */
  */
 public interface ChangedEvent {
 public interface ChangedEvent {
 
 
+    /**
+     * 获取traceId
+     */
+    String getTraceId();
+
+    /**
+     * 设置traceId
+     */
+    void setTraceId(String traceId);
+
     /**
     /**
      * 获取变更事件类型
      * 获取变更事件类型
      */
      */

+ 14 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/listener/event/CommonChangedEvent.java

@@ -15,6 +15,10 @@ import org.dbsyncer.sdk.model.ChangedOffset;
  */
  */
 public abstract class CommonChangedEvent implements ChangedEvent {
 public abstract class CommonChangedEvent implements ChangedEvent {
 
 
+    /**
+     * traceId
+     */
+    private String traceId;
     /**
     /**
      * 变更表名称
      * 变更表名称
      */
      */
@@ -28,6 +32,16 @@ public abstract class CommonChangedEvent implements ChangedEvent {
      */
      */
     private final ChangedOffset changedOffset = new ChangedOffset();
     private final ChangedOffset changedOffset = new ChangedOffset();
 
 
+    @Override
+    public String getTraceId() {
+        return traceId;
+    }
+
+    @Override
+    public void setTraceId(String traceId) {
+        this.traceId = traceId;
+    }
+
     @Override
     @Override
     public String getSourceTableName() {
     public String getSourceTableName() {
         return sourceTableName;
         return sourceTableName;

+ 11 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/plugin/AbstractPluginContext.java

@@ -74,6 +74,8 @@ public abstract class AbstractPluginContext extends AbstractBaseContext implemen
      */
      */
     private String pluginExtInfo;
     private String pluginExtInfo;
 
 
+    private String traceId;
+
     @Override
     @Override
     public boolean isTerminated() {
     public boolean isTerminated() {
         return terminated;
         return terminated;
@@ -184,6 +186,15 @@ public abstract class AbstractPluginContext extends AbstractBaseContext implemen
         this.pluginExtInfo = pluginExtInfo;
         this.pluginExtInfo = pluginExtInfo;
     }
     }
 
 
+    @Override
+    public String getTraceId() {
+        return traceId;
+    }
+
+    public void setTraceId(String traceId) {
+        this.traceId = traceId;
+    }
+
     @Override
     @Override
     public Object clone() throws CloneNotSupportedException {
     public Object clone() throws CloneNotSupportedException {
         return super.clone();
         return super.clone();

+ 7 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/plugin/PluginContext.java

@@ -99,6 +99,13 @@ public interface PluginContext extends BaseContext {
      */
      */
     String getPluginExtInfo();
     String getPluginExtInfo();
 
 
+    /**
+     * 获取TraceId
+     *
+     * @return
+     */
+    String getTraceId();
+
     /**
     /**
      * 浅拷贝
      * 浅拷贝
      *
      *

+ 4 - 1
dbsyncer-storage/src/main/java/org/dbsyncer/storage/enums/BinlogByteEnum.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2025 All Rights Reserved.
+ */
 package org.dbsyncer.storage.enums;
 package org.dbsyncer.storage.enums;
 
 
 /**
 /**
@@ -47,7 +50,7 @@ public enum BinlogByteEnum {
         this.byteLength = byteLength;
         this.byteLength = byteLength;
     }
     }
 
 
-    int byteLength;
+    final int byteLength;
 
 
     public int getByteLength() {
     public int getByteLength() {
         return byteLength;
         return byteLength;

+ 4 - 4
dbsyncer-storage/src/main/java/org/dbsyncer/storage/enums/StorageDataStatusEnum.java

@@ -20,16 +20,16 @@ public enum StorageDataStatusEnum {
      */
      */
     SUCCESS(1, "成功");
     SUCCESS(1, "成功");
 
 
-    private Integer value;
+    private final int value;
 
 
-    private String message;
+    private final String message;
 
 
-    StorageDataStatusEnum(Integer value, String message) {
+    StorageDataStatusEnum(int value, String message) {
         this.value = value;
         this.value = value;
         this.message = message;
         this.message = message;
     }
     }
 
 
-    public Integer getValue() {
+    public int getValue() {
         return value;
         return value;
     }
     }