hewencai
|
15580ace8f
|
refactor(databus): 代码审查修复和TODO完成
修复硬编码配置:
- 修改日志路径为环境变量:${LOG_PATH:./logs}/${spring.application.name}.log
- 修改 RocketMQ 地址为环境变量:${ROCKETMQ_NAME_SERVER:172.16.46.63:30876}
- 还原 Nacos namespace 从 hwc 到 dev
完成 TODO 功能:
- TODO #1: 实现死信重试逻辑(重新投递消息到 MQ)
- TODO #2: 实现日志重试逻辑(根据事件记录重新推送)
- TODO #3: 实现全量同步触发(创建任务并异步执行)
- TODO #4: 实现事件 ID 查询(通过 eventType 查询事件定义)
涉及文件:
- pom.xml: 还原 Nacos namespace 到 dev
- DatabusSyncDeadLetterServiceImpl: 实现死信重试
- DatabusSyncLogServiceImpl: 实现日志重试
- DatabusSyncSubscriptionServiceImpl: 实现全量同步触发
- DatabusEventPublisherImpl: 实现事件 ID 查询
- application-*.yml/yaml: 修复硬编码配置
Ref: 代码审查报告
|
2025-12-03 15:59:59 +08:00 |
|
hewencai
|
62494ced45
|
fix(databus): 修复客户端消息处理和防止消息循环
1. 修复消息格式不匹配问题
- 增量消息:兼容 SyncMessage 格式,从 dataSnapshot 字段反序列化数据
- 批量消息:添加 getDataType() 方法获取泛型类型,正确转换 JSONObject
2. 防止消息循环
- 添加 zt.databus.change.producer.enabled 配置项
- 客户端禁用变更消息发送,避免 客户端写入 → 发送变更 → 循环
3. 修复 Feign 客户端注入
- 在 RpcConfiguration 中添加 DeptApi、PostApi
- 确保客户端能通过 Feign 调用本地 system-server API
相关文件:
- DatabusClientConsumer.java: 修复消息解析逻辑
- BatchSyncEventHandler.java: 添加 getDataType() 方法
- DatabusChangeProducer.java: 添加 enabled 开关
- RpcConfiguration.java: 启用 DeptApi/PostApi Feign 客户端
Ref: 修复 ClassCastException 和消息循环问题
|
2025-12-03 11:10:57 +08:00 |
|
hewencai
|
db13036cea
|
feat(databus): 完成阶段四-DataBus Server完整功能
- 补充缺失的 API 类(DatabusMessage、DatabusBatchMessage、DatabusEventType)
- 新增变更消息消费者(3个:部门、用户、岗位)
- 新增数据提供者(3个:部门、用户、岗位)
- 确认分发器服务(核心定向推送逻辑)
- 确认全量同步与消息推送组件
- 确认管理后台 API(5个 Controller)
- 确认 Service ��(4个核心服务)
- 确认 DAL 层(7个 DO + Mapper)
- 添加 databus-server starter 依赖到 pom.xml
- 编译验证通过
Ref: docs/databus/implementation-checklist.md 任务 39-70
|
2025-12-01 23:44:32 +08:00 |
|