4.7 KiB
4.7 KiB
Changelog - 元数据变更自动同步本地数据库实现
变更信息
- 版本号: v0.1.16
- 发布日期: 2026-01-16
- 变更类型: 特性更新
变更摘要
本次变更实现了元数据变更自动同步本地数据库功能,为系统提供了自动化的元数据同步能力。通过在 task 目录下创建定时任务类(MetadataChangeAutoSyncTask),实现了基于元数据变更类型、操作类型、对象配置的自动执行逻辑。定时任务采用现有的 Quartz 框架(datai-quartz 模块)进行管理,支持通过 SysJob 实体配置执行时间、启用状态等。定时任务有完善的日志记录和异常处理机制,单个元数据变更同步失败不影响其他元数据变更的处理。
详细变更
特性更新
-
元数据变更自动同步任务 - 在
task目录下创建MetadataChangeAutoSyncTask.java:- Bean 名称:metadataChangeAutoSyncTask
- 方法:autoSyncMetadataChanges()
- 功能:扫描所有未同步的元数据变更记录,判断是否满足自动同步条件,调用相应的同步方法
- 自动同步条件:
- 通用条件:
- syncStatus = false 或 null(未同步)
- retryCount < 3(重试次数小于3次)
- 对象变更条件(changeType = OBJECT):
- 对象配置完整(objectApi、objectLabel 不为空)
- 对象启用同步(DataiIntegrationObject.isWork = true)
- 对象当前没有正在执行的同步任务(DataiIntegrationObject.syncStatus = false)
- 字段变更条件(changeType = FIELD):
- 字段配置完整(objectApi、fieldApi、fieldLabel 不为空)
- 对象启用同步(DataiIntegrationObject.isWork = true)
- 对象当前没有正在执行的同步任务(DataiIntegrationObject.syncStatus = false)
- 通用条件:
-
条件判断方法 - 创建独立的条件判断方法:
- isAutoSyncConditionMet():判断元数据变更是否满足自动同步条件
- isObjectChangeConditionMet():判断对象变更是否满足自动同步条件
- isFieldChangeConditionMet():判断字段变更是否满足自动同步条件
-
同步失败处理 - 创建同步失败处理方法:
- updateSyncFailure():更新元数据变更同步失败状态
- 更新 syncErrorMessage 字段,记录失败原因
- 增加 retryCount 字段
- 更新 lastRetryTime 字段
Bug 修复
无
性能优化
- 复用现有框架 - 复用现有的 Quartz 框架(datai-quartz 模块),无需额外依赖
- 串行执行方式 - 采用串行执行的方式,实现简单,避免并发问题
- 完善的异常处理 - 单个元数据变更同步失败不影响其他元数据变更的处理
- 详细的日志记录 - 每个任务都有详细的日志记录,便于问题排查和性能监控
安全修复
无
其他变更
无
影响范围
受影响的模块
- datai-salesforce-integration - 新增元数据变更自动同步任务,不影响现有功能
兼容性说明
- 本次变更完全兼容现有功能,所有新增内容均为独立模块
- 定时任务通过 datai-quartz 模块进行管理,支持动态配置执行时间、启用状态等
- 定时任务方法通过 JobInvokeUtil 工具进行调用,支持通过反射调用 Spring Bean 方法
- 定时任务执行日志通过 SysJobLog 实体进行持久化,支持查看执行历史
升级指南
升级步骤
- 部署新版本的
datai-salesforce-integration模块 - 无需更新数据库表结构,元数据变更表已包含所需字段
- 无需更新配置文件,定时任务功能自动启用
注意事项
- 定时任务执行时间可能与业务高峰期冲突,建议在业务低峰期执行
- 定时任务执行失败可能导致数据不一致,建议配置告警机制
- 条件判断逻辑可能存在错误,建议在测试环境中充分验证后再部署到生产环境
- 定时任务的 Cron 表达式配置错误可能导致任务不按预期执行,建议仔细检查
测试信息
测试环境
- 本地开发环境
测试结果
- 待测试
相关链接
- 需求文档 - 元数据变更自动同步本地数据库需求
- 架构决策 - 元数据变更自动同步本地数据库架构决策
- 提示词资产 - 元数据变更自动同步本地数据库实现提示词
- 会话记录 - 元数据变更自动同步本地数据库实现会话记录
发布人员
- AI Assistant - 开发人员
审核信息
- 审核人员: 待审核
- 审核日期: 待审核
- 审核状态: 待审核
- 审核意见: 待审核