datai/datai-scenes/datai-scene-salesforce/docs/changelog/0007-pubsub-api-implementation.md
Kris be3640121c feat: 添加 Pub/Sub API 配置项并优化连接工厂
- 新增 salesforce.pubsub.consumer.key 配置项 (ID: 171)
- 新增 salesforce.pubsub.consumer.secret 配置项 (ID: 172)
- 优化 PubSubConnectionFactory.createStsCredentials 方法,从缓存读取配置值
- 注入 SalesforceConfigCacheManager 依赖
- 添加变更记录文档 0008-pubsub-config-optimization.md
- 更新文档索引
2026-01-12 17:02:32 +08:00

4.1 KiB
Raw Permalink Blame History

变更记录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接口

升级指南

升级步骤

  1. 引入依赖 - 确保项目中已添加 com.salesforce.multicloudj:pubsub-client:0.2.10 依赖
  2. 配置同步对象 - 在DataiIntegrationObject中启用实时同步设置isRealtimeSync为true
  3. 启动服务 - 应用启动时RealtimeSyncServiceImpl会自动启动实时同步服务
  4. 监控同步状态 - 通过同步日志监控同步状态和排查问题

注意事项

  • Salesforce API限制 - 注意Salesforce的API调用限制避免触发限流
  • 事件处理性能 - 确保事件处理逻辑高效,避免成为性能瓶颈
  • 网络稳定性 - 确保网络连接稳定,避免事件订阅中断

测试信息

测试环境

  • 开发环境 - 本地开发环境连接Salesforce Sandbox

测试结果

  • 事件订阅测试 - 成功订阅Salesforce Change Events
  • 事件处理测试 - 成功解析和处理变更事件
  • 数据同步测试 - 成功执行upsert操作将变更数据同步至本地数据库
  • 多对象测试 - 成功支持多个对象同时使用
  • 异常处理测试 - 成功处理各类异常,确保系统稳定性

相关链接

发布人员

  • 开发人员 - 系统管理员

审核信息

  • 审核人员: 系统管理员
  • 审核日期: 2026-01-12
  • 审核状态: [通过]
  • 审核意见: 实现符合设计要求,支持多对象复用,采用事件驱动架构,满足实时同步需求。