免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 938 | 回复: 0
打印 上一主题 下一主题

ccPBM中的Transaction [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-06 22:15 |只看该作者 |倒序浏览
   理解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又确确实实已经成功的接收了消息,让人感觉很矛盾,但明白了上述的知识点就很容易理解了。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109665/showart_2142548.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP