理解ccBPM中Transaction的含义不仅有助于提高系统性能,而且能够帮助正确的分析BPM中遇到的错误。
一个transaction就是一个序列的处理步骤,要不所有的处理步骤全部执行,要不都不执行。如果系统不能够完全执行一个transaction,则它将回滚这个transaction中所有的处理步骤,也就是说系统将要恢复到transaction执行前的状态。
Integration processes中的transaction control mechanism并不是整个系统架构的中心transaction mananger,它不能管理Integration Server以外的transaction。
在block类型的节点中有两个属性"start block"和"end block"。在"start block"中可以定义启动一个新的transaction;在"end block"中定义结束当前的transaction,也就是执行一次Commit Work。
可以设置transaction的处理步骤类型有Send, Transformation和Receiver Determination。
在运行事,系统通常会为每个处理步骤创建一个transaction,但是上述三种类型的处理步骤可以设置执行该步骤时是否创建一个新的transaction,相应的设置参数为"Create New Transaction",如果设置为false,则将在当前的transaction中执行该处理步骤,于是执行时在后台不会生成一个相应的work item,也不会数据库进行访问,使用这种方式,可以提高系统性能。
优化系统性能:
扩展transactions和执行处理步骤时不生成新的transaction,将会增加系统的主内存符合,但是会提高BPM的执行性能。
workflow log中的troubleshooting:
如果一个处理步骤执行时,没有生成work item,则workflow log的technical view中不会显示任何关于它的log信息,如果该步骤在执行发生了错误,则错误信息将显示在它的上一执行步骤中。(不明白这一点的人,碰到这样的问题后,在查看log时,会百思不得其解)
如receive step(接收消息)后面紧跟着一个transformation step(message mapping),transformation step执行时是不生产work item的,当该步骤执行报错时,查看log(SXMB_MONI_BPE),发现错误发生在receive step上,而receive step又确确实实已经成功的接收了消息,让人感觉很矛盾,但明白了上述的知识点就很容易理解了。
文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/6_system/linux/linuxjq/20100111/188579.html
分享到:
相关推荐
本文将深入探讨“C#中调用Transaction”的相关知识点,包括事务的基本概念、事务的特性、如何在C#代码中创建和管理事务,以及与数据库交互时事务的应用。 ### 1. 事务基本概念 事务是数据库操作的一组逻辑单元,它...
【javax.transaction.jar】是Java平台上的一个核心组件,主要用于处理分布式环境中的事务管理。这个库包含了一组接口和类,这些接口和类定义了事务管理的API,使得开发者能够在Java应用程序中实现事务处理的规范。在...
赠送jar包:javax.transaction-api-1.2.jar; 赠送原API文档:javax.transaction-api-1.2-javadoc.jar; 赠送源代码:javax.transaction-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:javax.transaction-api-1.2.jar; 赠送原API文档:javax.transaction-api-1.2-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
CALL TRANSACTION USING 语句是 ABAP 中提供的一个方便的执行批量输入的语句,使用它可以通过程序代码完成多个事务码的连续执行。BDC_TAB 是批输入任务表,网上有很多例子了,大家用到的时候可以搜索。用事务码 SHDB...
根据提供的文件信息,可以提炼出以下与“Principles of transaction processing”相关的知识点: 1. 事务处理的原理 事务处理系统是计算机系统的一个重要组成部分,它涉及到如何高效、安全地处理各种事务。事务处理...
在实际开发中,通常我们会将`Session`和`Transaction`的使用结合到一个单元操作中,例如在try-catch-finally块中: ```java SessionFactory sessionFactory = ...; // 获取SessionFactory Session session = ...
示例中的SQL语句创建了一个名为`TCC_TRANSACTION_TEST_A`的表,用于存储TCC事务的状态信息。字段包括事务ID(TRANSACTION_ID)、业务领域(DOMAIN)、全局事务ID(GLOBAL_TX_ID)、分支事务ID(BRANCH_QUALIFIER)...
CHI协议,transaction事务汇总: 1.部分事务分为ptl/full ,这里不做区分。 2.事务名基本可以“望文生义”,也就是我们代码所推荐的“命名即注释”。 3.部分事务的行为并不完全确定,个人推测。 4.针对request type...
在USB(Universal Serial Bus)规范中,传输(Transfer)、事务(Transaction)以及数据包(Packet)是三个核心概念,它们之间的关系对于理解USB协议至关重要。本文将详细介绍这三个概念,并探讨它们之间的联系及其...
在这个名为"TCC-Transaction分布式事务DEMO"的项目中,我们将深入探讨TCC模式以及如何在基于Mysql数据库的环境中实现它。 **TCC模式详解** TCC(Try-Confirm-Cancel)是一种补偿型的分布式事务处理模式,主要由三...
在Java的持久化框架Hibernate中,`Session`和`Transaction`是两个至关重要的概念,它们在数据管理和事务处理中起到核心作用。这篇文章将深入解析这两个概念及其相关知识点。 `Session`是Hibernate提供的一种与...
在Web服务中实现事务处理是确保数据一致性的重要手段,特别是在分布式系统中,多个操作需要作为一个原子单元执行。.NET Framework提供了强大的支持,简化了在Web服务中实现事务的复杂度。以下将详细介绍如何在.NET ...
在IT行业中,事务(Transaction)是数据库操作的核心概念,它确保了数据的一致性和完整性。在分布式系统和多用户环境中,事务处理对于防止数据错误和保持数据一致性至关重要。本篇文章将深入探讨“Transaction”这一...
【IEEE TRANSACTION模板】是用于准备提交给IEEE Transactions和Journals的论文的标准格式指南。这篇文档主要介绍了如何使用Microsoft Word 6.0或更高版本来编写符合标准的论文,并且提供了对于LATEX用户的相关信息。...
2. 事务与分布式事务:事务(Transaction)是数据库管理系统中一个不可分割的工作单位。在分布式事务处理模型中,分布式事务(Global Transaction)是跨越多个资源管理器的事务。每个资源管理器管理的事务单元称为...
transaction-processing-concepts-and-techniques
处理层协议( transaction Layer specification transaction Layer specificationtransaction Layer specificationtransaction Layer specification transaction Layer specificationtransaction Layer ...