5

我在测试 BizTalk 中的 MQSC 适配器以与 Z/OS 主机上的队列通信时遇到问题。

测试场景:通过 Biztalk I 发送消息时(强制)停止并启动 Host 通道,以模仿 HOST IPL。

在这种情况下,我经历了以下结果:

有时,主机 MQ 上有未提交的消息。 即使在频道重新启动后。这样我不知道消息是否已被 Biztalk 处理。
问题有没有办法确保消息始终在主机 MQ 上提交,或者如果未提交,消息在 MQ 上仍然可用

有一次我遇到了重复的消息,一旦这些消息丢失了, 因为这些事情每个只发生一次。我希望在我的测试应用程序/程序中发现问题。
这不是一个真正的问题,但如果其他人也遇到过同样的错误,我想知道。

测试设置

  • 2 个节点上的 Biztalk 2009
  • WebSphere MQ 客户端 7.5.0.2(支持事务)
  • MSDTC - XA 事务已启用(编辑以反映评论)
  • 用于主机系统的 MS Biztalk 适配器 2.0 用于主机系统的 MS Biztalk 适配器 2.0

端口配置
接收位置
接收位置

发送端口
发送端口

4

1 回答 1

1

如果您正在使用 MQ 事务,即 MQPMO_SYNCPOINT 和 MQCMIT,那么断开连接(显式或隐式由于STOP CHANNEL(chl-name) MODE(FORCE))将导致完成任何未完成的事务(在显式断开连接时提交,在隐式断开连接时回滚)。

如果您正在使用带有事务管理器 (TM) 的 2-PC 事务,那么事务将需要由 TM 处理,具体取决于它有多远,例如它是否已经准备好。

于 2014-09-15T15:06:21.180 回答