# 异常监控与修复
# 1. 创建测试ESB流程
# 1.1 新建ESB输出流
- 进入流程库 → ESB输出流 → 点击"添加"
 - 拖入"SqlServer Command"节点
 - 配置数据库连接:选择"DemoData"
 - 输入SQL命令:
 
UPDATE idemo_vendor 
SET contact = @contact 
WHERE vendor_code = '021-2015-0001'
 ▲ 新建ESB输出流
# 1.2 配置调用参数
- 切换到"调用"页签
 - 在Payload中添加参数:
- 参数名:contact
 - 类型:字符串
 
 - 连接左右侧的contact参数
 
 ▲ 配置调用参数
- 保存ESB,命名为"修改供应商联系人"
 
# 2. 集成到业务流程
# 2.1 修改采购申请流程
- 进入流程建模 → 打开"采购申请"流程
 - 在"提交"后插入新任务
 - 设置任务类型为"调用ESB"
 - 配置属性:
- 调用对象:选择"修改供应商联系人"
 - 勾选"异步调用"
 
 
 ▲ 在流程上调用ESB
# 2.2 配置参数传递
- 切换到"呼叫传入"页签
 - 将表单中的"联系人"字段连接到ESB的contact参数
 
 ▲ 配置参数传递
- 确认保存流程
 
# 3. 触发异常场景
# 3.1 测试提交
- 切换到流程门户
 - 发起"采购申请"流程
 - 在联系人字段输入超长数据:"张三名字超长123456789"(超过字段定义的10字符限制)
 - 提交流程
 
# 4. 异常监控与修复
# 4.1 查看异常实例
- 进入流程库 → ESB运行实例 → 异常实例
 - 找到"修改供应商联系人"的异常实例
 - 双击打开执行过程追踪
 
 ▲ 查看异常实例
# 4.2 分析错误
- 查看错误节点(第2个节点)
 - 在右侧属性窗口:
- "输入"页签:查看原始输入数据
 - "信息"页签:查看具体错误信息
 
 
 ▲ 分析错误
将截断字符串或二进制数据。语句已终止。
# 4.3 修复异常
- 返回"输入"页签
 - 修改数据为合规长度(如:"张三名字超长")
 - 关键步骤:点击"保存"按钮(未保存的修改不会生效)
 - 点击左上角"继续执行"按钮
 
 ▲ 修复异常
# 5. 验证修复结果
# 5.1 检查执行状态
- 确认所有节点变为绿色(执行成功状态)
 
 ▲ 检查执行状态
# 5.2 数据库验证
- 打开SQL Server Management Studio
 - 查询idemo_vendor表:
 
SELECT * FROM idemo_vendor 
WHERE vendor_code = '021-2015-0001'
- 确认contact字段已更新为修正后的值
 
# 6. 关键注意事项
- 数据保存:修改输入数据后必须点击保存,否则系统仍使用原始数据
 - 长度限制:修复时应确保数据符合目标字段的约束条件
 - 审计追踪:所有修复操作会被记录,可在系统日志中查看
 - 预防措施:建议在调用ESB前添加数据验证逻辑
 
# 7. 最佳实践建议
- 对于关键字段,建议在ESB前添加数据校验节点
 - 异步调用时,应设置异常通知机制
 - 定期检查异常实例,及时处理积压问题
 - 对于频繁出现的同类错误,应考虑优化流程设计而非仅修复实例