使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性
2009-10-28 00:00:00 来源:WEB开发网非 SQL 事务(和没有包含 DB2 的事务)应该能继续正常运行。
启用 DB2。
提交一个包含了 DB2 的事务。用 DB2 建立连接,并且事务应该成功运行。
这个测试有助于验证 问题 b。
图 4. 案例 4
图片看不清楚?请点击这里查看原图(大图)。
保护您的事务管理器,防止其受到资源管理器影响
下面是一些设计考虑因素,可以使您的事务管理器灵活应对资源管理器故障:
确保将不可用的资源管理器标记为对事务管理器不可用,并且事务管理器能够继续与其他的资源管理器一起运行。
事务管理器应该能够继续处理没有包含出错资源管理器的事务。
即使参与事务的一个资源管理器发生了灾难性的错误,事务管理器应该仍然可用。
事务管理器应该在资源管理器可用时,能够检测到其可用性。
事务管理器应该能够在出错的资源管理器恢复可用时解决出错的事务。
事务管理器应该能够在出错的资源管理器可用时,继续运行包含了出错的资源管理器的新事务请求。
要把旧的连接从事务管理器的缓存中移除,这样的话,资源管理器恢复可用后的第一个事务调用就不会出错。
最后,介绍一些小诀窍,可以帮助您使用一些流行的资源管理器:
对于 IBM WebSphere® MQ 来说,只有发布了具有同步点选项的 MQPUT,ax_reg 才会流向事务管理器。这意味着如果把 WebSphere MQ 设置为动态注册,而且错误出现在具有同步点的 MQPUT 之前,WebSphere MQ 可能就不支持 XA 弹性功能。
使用除 DB2 以外的一些流行的资源管理器时,如果在 xa_end 的过程中出错,将会返回 XAERR_PROTO,而不是 XAERR_RMERR。事务管理器要能够容忍不同资源管理器在发生类似错误时返回的不同错误代码而导致的不同行为。
结束语
在当今的企业中,如果核心系统的可用性非常关键的话,那么诸如事务管理器之类的核心组件在其他相关组件出错时还能保持可用性,这点非常重要。本文中的测试案例能够帮助您提前判断企业系统中的事务管理器是否对某些类型的错误具有灵活的应变能力。
- ››XAML实例教程系列 – 开篇
- ››灵活更改Windows 7“自动播放”设置
- ››灵活更改Win7系统“自动播放”设置
- ››灵活运用ISA的链接转换功能:ISA2006系列之十三
- ››灵活配置DHCP服务器 解决更改IP地址问题
- ››Xara3D结合Photoshop打造炫彩立体文字特效
- ››灵活有效的数据仓库解决方案:第1部分:客户互动和...
- ››灵活有效的数据仓库解决方案,第3部分:设计并实现...
- ››灵活使用Word 2003文档窗口的滚动条
- ››Xara3D配合fireworks设计美丽3D特效字
- ››灵活设置Windows Server 2008应对系统管理谜局
- ››灵活有效的数据仓库解决方案: 第 1 部分:客户互动...
更多精彩
赞助商链接