3

之前的问题之后,我们发现了一些我无法通过 MQ 通道理解的行为。

在启动时,我们发出以下命令:

STRSBS SBSD(QMQM/QMQM)
STRMQM MQMNAME(IA001.QUEUE.MANAGER)
STRMQMCSVR MQMNAME(IA001.QUEUE.MANAGER)
STRMQMLSR MQMNAME(IA001.QUEUE.MANAGER)
DLYJOB DLY(300)
STRMQMMQSC SRCMBR(IA1_RESTRT) SRCFILE(MQSCRIPTS/MQSETUP) MQMNAME(IA001.QUEUE.MANAGER)

最后运行的脚本包含一系列通道启动命令。在此步骤中,我们会定期收到一个“正在使用”通道的错误,并且在调查时我们发现该通道正在运行。

上面显示的延迟是最近引入的,因为我们认为各个部分可能需要时间才能在通道启动之前正确启动,但是这发现了一些奇怪的东西,因为我们遇到了三个通道的“正在使用”错误。

看来,给定时间,渠道正在开始自己。但我无法弄清楚如何或为什么?我不是 100% 熟悉通道启动,但是从我可以从文档中了解到我们没有设置它——我扫描了一个配置转储,发现除了空白之外没有任何 INITQ() 条目。

什么是启动我们的频道?我根本无法在我们的测试系统上复制这种行为。

4

1 回答 1

1

如果在队列管理器上次结束之前通道先前处于 RETRYING 状态,则在重新启动时会记住此状态,并且您的通道将在队列管理器重新启动时重新进入 RETRYING 状态,然后可能会成功连接。

于 2014-09-15T22:08:54.960 回答