2.8 KiB
2.8 KiB
变更日志: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配置详细的日志级别(映射 SOAPDebuggingHeader)。 - 统一封装执行结果为
ExecuteResult,包含成功状态、编译标志、调试日志、异常信息及执行时间。
- 实现
-
日志解析能力:
- 定义
LogParser接口,提供从原始日志中提取关键信息的标准方法。 - 实现默认的正则解析器
LogParserImpl,支持提取USER_DEBUG和资源限制信息 (LIMIT_USAGE)。
- 定义
-
异常处理机制:
- 定义
ApexCompilationException处理编译时错误,包含行列号及具体问题描述。 - 定义
ApexConnectionException处理网络或认证层面的系统异常。 - 运行时异常(如 DmlException)被捕获并封装在
ExecuteResult中,不抛出异常,便于前端展示。
- 定义
新增代码文件
datai-salesforce-apex/src/main/java/com/datai/apex/model/DebuggingOptions.javadatai-salesforce-apex/src/main/java/com/datai/apex/model/ExecuteResult.javadatai-salesforce-apex/src/main/java/com/datai/apex/log/LogParser.javadatai-salesforce-apex/src/main/java/com/datai/apex/log/impl/LogParserImpl.javadatai-salesforce-apex/src/main/java/com/datai/apex/core/ApexExecutorService.javadatai-salesforce-apex/src/main/java/com/datai/apex/core/impl/ApexExecutorServiceImpl.javadatai-salesforce-apex/src/test/java/com/datai/apex/core/ApexExecutorServiceTest.java
新增文档
影响范围
- 模块:
datai-salesforce-apex - 功能:Apex 代码执行与调试
- 依赖:新增对
com.force.api:force-wsc和com.force.api:force-partner-api(及相关 stub) 的运行时依赖。