datai/docs/archive/changelog/2026-01-27-013-2-changelog.md

2.8 KiB
Raw Blame History

变更日志REQ-013-2 Apex 动态代码执行与日志管理

元数据

  • 需求编号REQ-013-2
  • 创建时间2026-01-27
  • 创建人AI Assistant
  • 版本号v1.0.0

变更概述

实现 Apex 代码的动态执行与日志管理功能。作为无状态 API 代理,封装 Salesforce SOAP API 的 executeAnonymous 调用,支持设置调试级别、解析执行结果、处理编译与运行时异常,并提供结构化的日志对象。

变更内容

新增功能

  • Apex 动态执行服务

    • 实现 ApexExecutorService 接口及其实现类,封装 SOAP API 调用。
    • 支持通过 DebuggingOptions 配置详细的日志级别(映射 SOAP DebuggingHeader)。
    • 统一封装执行结果为 ExecuteResult,包含成功状态、编译标志、调试日志、异常信息及执行时间。
  • 日志解析能力

    • 定义 LogParser 接口,提供从原始日志中提取关键信息的标准方法。
    • 实现默认的正则解析器 LogParserImpl,支持提取 USER_DEBUG 和资源限制信息 (LIMIT_USAGE)。
  • 异常处理机制

    • 定义 ApexCompilationException 处理编译时错误,包含行列号及具体问题描述。
    • 定义 ApexConnectionException 处理网络或认证层面的系统异常。
    • 运行时异常(如 DmlException被捕获并封装在 ExecuteResult 中,不抛出异常,便于前端展示。

新增代码文件

  • datai-salesforce-apex/src/main/java/com/datai/apex/model/DebuggingOptions.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/ExecuteResult.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/log/LogParser.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/log/impl/LogParserImpl.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/core/ApexExecutorService.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/core/impl/ApexExecutorServiceImpl.java
  • datai-salesforce-apex/src/test/java/com/datai/apex/core/ApexExecutorServiceTest.java

新增文档

影响范围

  • 模块datai-salesforce-apex
  • 功能Apex 代码执行与调试
  • 依赖:新增对 com.force.api:force-wsccom.force.api:force-partner-api (及相关 stub) 的运行时依赖。

相关文档