- 1
- 0
- 约3.9千字
- 约 4页
- 2021-10-19 发布于福建
- 举报
Message flow transactions
文章位置: WebSphere Message Broker Version Deve
loping message flow applications Processing messages Me
ssage flow behavior Default behavior
Message flow transactions
MB 支持事务并且消息流处理的所有消息都有一致的事务。一个消息流事务
从 input 节点接收到输入信息开始,到这个消息处理完成事务提交,如果出错
事务会回滚。
如果消息流包含多个 input 节点,每个节点收到消息后都会重启一个事务。
MB会对每种输入节点启动一个事务,包括用户自定义的。
如果一个系统支持自己的事务如数据库,你可以把这个事务配置到流事务
中。基于这个节点, 即可以当在这个系统中工作完成之后立即在该系统中提交事
务,也可以或者在消息流事务完成时,提交事务。
许多在消息流中可使用的资源例如数据库、 MQ消息、队列、 JMS 消息,都
被资源管理器控制着, 这个资源管理器就是用来协调事务的。 其他的资源管理器
不提供事务,如: HTTP 协议和文件系统。
Commit or rollback
如果资源支持事务, 你可以对着这资源进行配置, 只有当消息流结束或者节
点结束猜提交或回滚事务。数据库和 WMQ队列就是典型的这样的资源。如果资
源不支持事务,那么对该资源的所有操作会立即提交。例如文件和 HTTP 连接。
当消息流成功处理完成输入的消息的时候, 所有的更新会立即被提交。 遇到
一下两种情况时,操作会被回滚:
·除了输入节点之外, 流中的某个节点抛出异常却没被相应节点捕获 (如节
点本身或 TryCatch 节点 )
·输入节点的捕获终端没有连接上
在分布式系统中, 消息流的事务默认是由 broker 管理的。 这些事务叫做 b
roker-coordinated transactions 或者 partially coordinated transactions 。When cont
rol returns to the input node when the flow finishes processing, the node eithe
r commits or rolls back the operations that have been taken, excluding the ind
ividual nodes that have been configured to perform their own commits and roll
backs, or that have no support for this option.
如果消息流同时访问多个资源, 其中有一个发生了错误, 所有个资源的操作
都不会提交。
如果数据或操作的一致性要求很高, 即所有操作要么提交要么回滚, 你可以
协调消息流活动来实现。协调是通过另外一个事务管理器提供的,它使用的 XA
协议。当消息流结束的时候由输入节点调用事务管理器。 事务管理器 (不是输入
节点和代理) 协调相关资源管理器, 来为每个资源创建合适的动作。 这种方式的
事务控制,叫做 globally coordinated transactions 。
事
您可能关注的文档
最近下载
- 华为流程管理实践交流(1).pdf VIP
- 2025年南京铁道职业技术学院单招职业适应性考试必刷测试卷最新.docx VIP
- 《中医护理门诊建设规范》标准文本.pdf VIP
- 《急性心肌梗死诊断与治疗指南(2025年版)》.docx VIP
- 2020年中央空调市场报告-艾肯网.pdf VIP
- 2026年南京铁道职业技术学院单招职业倾向性测试必刷测试卷新版.docx VIP
- 项目建议书建议书范文.docx VIP
- 齿轮油 SHC 320WT MSDS美孚齿轮油系列.pdf VIP
- 《建筑设计防火规范》GB50016-2014.pptx VIP
- DB13_T 6218-2025 爆破行业安全生产风险分级管控与隐患排查治理规范.pdf VIP
原创力文档

文档评论(0)