我们目前正在iseries上实施WMQ cobol客户端。 MQ客户端版本为7.1。
程序设置为MQPMO_SYNCPOINT,不是多线程的,并且根据此处提供的信息设置提交控件定义:
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/topic/com.ibm.mq.doc/fg13800_.htm
发出MQput时,消息会出现在队列中,但在发出全局提交时不会提交。
所以我的问题是:
我是否必须在我的iseries上安装QMGR才能使用IBM i外部同步点管理器。
由于
答案 0 :(得分:0)
简短回答 - 是的。
引用的信息中心页面并未明确说明该页面上记录的内容是队列管理器如何执行事务协调器的角色。通常,在执行此角色时,所有XA协调都由队列管理器执行。但是,通过根据链接页面上的说明配置QMgr,它可以将XA协调委派给本机IBM i承诺控件。
对于客户端使用XA功能,您必须购买完整的WMQ Server许可证并使用随其提供的授权XA客户端组件,否则您必须在{{3}之后的某个时间下载WMQ客户端的新副本这消除了该组件的许可证成本。
一旦有了XA客户端(付费或最近的免费版本),您仍然必须为XA事务管理器提供与QMgr通信的方法。例如,如果使用WebSphere Application Server,它将充当事务协调器,并使用客户端的通道重新连接MQ,并在发生故障后协调任何未完成的事务。在问题中描述的解决方案中,队列管理器与事务协调器没有任何连接,因此当它收到事务命令时,要么在它自己的XA上下文中解析它们,要么将它们优化为单阶段提交。
基于从问题中收集到的少量信息的最佳解决方案是iSeries盒上的QMgr,根据链接的Infocenter页面配置并与应用程序和本机IBM i承诺控件一起运行,将满足所有这些要求。此外,应用程序可以在绑定模式下运行,这比通过网络与QMgr通信更可靠,更快。