ccBPM中只有通过block的exception handle branch才能对exception进行捕获。
ccBPM中可以触发exception的step type有:
1)Send step
Asynchronous Send step:只有当发生了permanent system error的时候才会触发exception
Synchronous Send step:除了permanent system error之外,当接收到相应的fault message的时候也会触发exception.
2)Transformation step
当发生了permanent system error的时候会触发exception(通常是message mapping中发生了错误)
3)Control step
Control step有三种功能:结束当前process,触发exception和生成Alert信息。
这种触发exception的steps很容易理解,但在使用Send step特别是Asynchronous Send step触发exception的时候通常会引起我们的异议,我们会感觉BPM中Send step发生了系统错误,但是却没有触发exception。下面通过一个例子来说明这一异议。
在integaration process中放置一个Block,并创建一个exception handle branch,再在Block中拖入一个Send step,并将mode设置为Asynchronous,Acknowledge选择为transport,Exception设置为Block中handle的exception,其他一切配置完成后,测试消息发送,并且消息可以成功发送。这时故意将receive channel设置错误,使得消息无法被成功接受,再测试消息发送后,SXI_MONITOR中显示如下:
BPM停止在Send step上,虽然有错误,但是没有触发exception;
双击打开该消息,发现Ack为system transient acknowledgement;
通过SXMB_MONI_BPE查看BPM的状态,发现BPM当前仍然在等待Ack;
这时,通过message monitor去cancel掉这条处于waiting状态正在retry sending或处于system error状态的消息;
再去查看SXI_MONITOR,发现Send step触发了Exception;
双击打开带有错误Ack的message,此时的Ack为System Permanent Acknowledgement。
针对BPM exception归纳如下几点:
1)只有当workflow中发生错误的时候才可能触发exception,pipeline和adapter上发生的错误不会触发workflow的exception;
2)可以把Ack分为
Positive acknowledgment
Permanent negative acknowledgment
Temporary (transient) negative acknowledgment
Positive acknowledgment会使得workflow继续往下执行,Permanent negative acknowledgment会触发exception,而Temporary (transient) negative acknowledgment并不会触发exception,通常这样的ack发生时,可以在message monitor中resend错误的消息;
分享到:
相关推荐
### SAP ccBPM在XI中的应用与理解 #### 一、ccBPM概念与功能介绍 ccBPM(Content and Collaboration Business Process Management)是SAP Business Process Management (BPM) 的一个组成部分,主要应用于SAP ...
驰骋工作流程引擎简称ccbpm,是驰骋流程引擎与驰骋表单引擎的组合。 Ccbpm有.net版本的ccflow,java版本的jFlow,以及python版本的pFlow. ccbpm既可以独立运行,也可以作为中间件植入到您的开发架构里去,支持集团分...
接口中的方法均以静态形式提供,方便调用。 2. **接口分类**: - **DB_开头的接口**:这类接口返回结果集合,适用于获取数据操作的结果。 - **Flow_开头的接口**:与流程操作相关,如启动、跟踪等。 - **Node_...
在CCBPM+CCFLOW中,BP框架可能包括以下方面: 1. **API接口**:提供丰富的API供开发者调用,实现与引擎的深度交互和定制化开发。 2. **插件机制**:支持开发自定义插件,扩展流程引擎的功能,如添加新的活动类型、...
在IT行业中,工作流引擎是实现业务流程自动化的关键组件,...通过阅读《驰骋工作流引擎是如何支持多种流程模式的.docx》这份文档,读者可以更深入地了解ccbpm如何处理各种流程模式,从而在实际项目中做出明智的选择。
通过对标题和描述的理解,我们可以推断这篇文档将探讨如何在实际的工业生产场景中运用ccbpm来提升效率和自动化水平。尽管描述部分为空,但从标签“源码”和“工具”我们可以推测,这份文档可能涉及ccbpm的源代码分析...
在代码同步逻辑中,需要删除全部的数据,然后将数据写入到临时表中,最后将数据同步到ccbpm的组织结构里。在这个过程中,需要使用c#代码结构,例如: ```csharp string orgNo = BP.Web.WebUser.OrgNo; string sql = ...
综上所述,企业信息机API接口为企业提供了一套完整的短信服务解决方案,涵盖了短信发送、接收、状态查询以及用户管理等多个方面,同时也提供了详细的使用指南和配置说明,确保了企业在实际应用中的便捷性和灵活性。...
我们把驰骋工作流程引擎简称ccbpm,CCFlow是.net版本的简称,JFlow是java版本的简称,我们未来将要发布python版本的PFlow,敬请关注。十多年来,我们一直践行自己的诺言,真心服务中国IT产业,努力提高产品质量,...
我们把驰骋工作流程引擎简称ccbpm,CCFlow是.net版本的简称,JFlow是java版本的简称。ccbpm包含表单引擎与流程引擎两大部分,并且两块完美结合,并且两块完美结合,流程引擎操纵表单引擎,协同高效工作,完成了很多...
本文档作为驰骋信息技术有限公司(以下简称“驰骋公司”)针对浙商银行项目的技术文档,旨在全面介绍其自主研发的工作流引擎BPM系统——驰骋工作流引擎CCBPM的设计理念和技术架构。文档不仅包括了概要设计的内容,还...
在这种模式下,流程中的每个节点按预设的顺序逐一执行,只有一个活动节点在任何时候处于活动状态。用户可以在特定节点上进行跳转或自定义后续步骤,适合大多数简单且线性的业务流程。 2. **同表单分合流**:同表单...
驰骋dotNet与java工作流引擎-表结构,阐释了CCBPM开源工作流引擎的主要表结构。
开源CCBPM驰骋工作流引擎组织结构集成视图创建脚本。配合《驰骋dotNet与java工作流引擎-表结构》使用更佳。
业务流程引擎处理ccBPM中的消息,集成引擎负责路由和映射,而中央高级适配器引擎则用于适配不同系统的需求,将消息转换成Integration Engine所需格式。 总的来说,SAP PI是企业系统集成的重要工具,它简化了系统间...
- **业务流程引擎**:处理ccBPM中的消息关联和处理。 - **集成引擎**:执行路由和映射,当源结构和目标结构不同时,调用映射运行时进行转换。 - **中央高级适配器引擎 (AAE)**:处理Integration Engine所需的特定...