- 新增 salesforce.pubsub.consumer.key 配置项 (ID: 171) - 新增 salesforce.pubsub.consumer.secret 配置项 (ID: 172) - 优化 PubSubConnectionFactory.createStsCredentials 方法,从缓存读取配置值 - 注入 SalesforceConfigCacheManager 依赖 - 添加变更记录文档 0008-pubsub-config-optimization.md - 更新文档索引
4.1 KiB
4.1 KiB
变更记录:Salesforce Pub/Sub API 实时同步功能实现
变更信息
- 版本号: v1.0.0
- 发布日期: 2026-01-12
- 变更类型: [功能实现]
变更摘要
本次变更基于 com.salesforce.multicloudj:pubsub-client:0.2.10 依赖,实现了Salesforce Pub/Sub API同步数据到本地数据库的功能。通过事件驱动架构,支持实时捕获Salesforce Change Events并同步数据,确保本地系统能够实时获取Salesforce中的最新数据。
详细变更
功能实现
- PubSubConnectionFactory - 实现与Salesforce Pub/Sub API的连接管理,使用multicloudj的SubscriptionClient
- PubSubEventSubscriberImpl - 实现Salesforce Event Bus事件订阅,实时捕获数据变更
- EventProcessorImpl - 实现事件的解析和处理逻辑,将Salesforce Change Events转换为本地数据模型
- DataSynchronizerImpl - 实现数据的同步逻辑,执行upsert操作将变更数据同步至本地数据库
- ObjectRegistryImpl - 实现对象的注册表管理,维护所有启用实时同步的对象信息,支持多对象复用同一套代码
- RealtimeSyncServiceImpl - 实现实时同步服务的初始化和启动,管理服务的生命周期
技术特点
- 使用multicloudj组件 - 基于
com.salesforce.multicloudj:pubsub-client:0.2.10依赖,利用其提供的SubscriptionClient进行事件订阅 - 事件驱动架构 - 采用事件驱动的实时同步架构,支持订阅Salesforce Change Events并实时同步数据
- 多对象复用 - ObjectRegistry组件支持多对象复用同一套代码
- 断线重连 - 实现了断线重连机制,确保系统稳定性
- 异常处理 - 添加了完善的异常处理机制,确保系统在异常发生后能够保持稳定运行
- 日志记录 - 实现了详细的同步日志记录,便于问题排查
影响范围
受影响的模块
- 集成核心模块 - 新增实时同步核心组件
- Salesforce连接模块 - 扩展支持Pub/Sub API事件订阅
- 数据同步模块 - 新增实时同步能力
兼容性说明
- 向后兼容 - 本次变更不影响现有的定时同步功能
- API兼容性 - 新增的核心组件提供独立的API接口
升级指南
升级步骤
- 引入依赖 - 确保项目中已添加
com.salesforce.multicloudj:pubsub-client:0.2.10依赖 - 配置同步对象 - 在DataiIntegrationObject中启用实时同步(设置isRealtimeSync为true)
- 启动服务 - 应用启动时,RealtimeSyncServiceImpl会自动启动实时同步服务
- 监控同步状态 - 通过同步日志监控同步状态和排查问题
注意事项
- Salesforce API限制 - 注意Salesforce的API调用限制,避免触发限流
- 事件处理性能 - 确保事件处理逻辑高效,避免成为性能瓶颈
- 网络稳定性 - 确保网络连接稳定,避免事件订阅中断
测试信息
测试环境
- 开发环境 - 本地开发环境,连接Salesforce Sandbox
测试结果
- 事件订阅测试 - 成功订阅Salesforce Change Events
- 事件处理测试 - 成功解析和处理变更事件
- 数据同步测试 - 成功执行upsert操作,将变更数据同步至本地数据库
- 多对象测试 - 成功支持多个对象同时使用
- 异常处理测试 - 成功处理各类异常,确保系统稳定性
相关链接
- 需求文档 - Salesforce数据及时同步至本地数据库
- 设计文档 - Salesforce CDC实时同步设计
- 架构决策 - Salesforce CDC同步方案
- 参考代码 - multicloudj组件参考代码
发布人员
- 开发人员 - 系统管理员
审核信息
- 审核人员: 系统管理员
- 审核日期: 2026-01-12
- 审核状态: [通过]
- 审核意见: 实现符合设计要求,支持多对象复用,采用事件驱动架构,满足实时同步需求。