1

我们目前正在 iseries 上实现 WMQ cobol 客户端。MQ 客户端版本为 7.1。

该程序设置为 MQPMO_SYNCPOINT,不是多线程,并且提交控制定义设置为 qccording 到此处提供的信息:

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/topic/com.ibm.mq.doc/fg13800_.htm

发出 MQput 时,消息出现在队列中,但在发出全局提交时未提交。

所以我的问题是:

我是否必须在我的系列上安装 QMGR 才能使用 IBM i 外部同步点管理器。

谢谢

4

1 回答 1

0

简短的回答 - 是的。

引用的信息中心页面并没有很清楚地说明该页面上记录的是队列管理器如何执行事务协调器的角色。通常,在担任此角色时,所有 XA 协调都由队列管理器执行。但是,通过根据链接页面上的说明配置 QMgr,它可以将 XA 协调委托给本机 IBM i 提交控制。

对于使用 XA 功能的客户端,您必须购买完整的 WMQ 服务器许可证并使用随附的授权 XA 客户端组件,或者您必须在2011 年 10 月 4 日公告删除后的某个时间下载 WMQ 客户端的新副本该组件的许可成本。

一旦您有了 XA 客户端(付费或最近的免费版本),您仍然必须为 XA 事务管理器提供一种与 QMgr 对话的方式。例如,如果使用 WebSphere Application Server,它充当事务协调器并使用客户端的通道与 MQ 重新连接,并在失败后协调任何未完成的事务。在问题中描述的解决方案中,队列管理器与事务协调器没有任何连接,因此当它接收到事务命令时,要么在其自己的 XA 上下文中解析它们,要么将它们优化为单阶段提交。

基于从问题中收集到的少量信息,最佳解决方案是 iSeries 盒子上的 QMgr,根据链接的信息中心页面配置并与应用程序和本机 IBM i 承诺控制一起运行,将满足所有这些要求。此外,应用程序可以在绑定模式下运行,这比通过网络与 QMgr 对话更可靠、更快捷。

于 2012-11-09T18:38:35.937 回答