继prior question后,我们发现了一些我无法用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()条目以及空白以外的任何内容。
什么是我们的频道?我根本无法在我们的测试系统上复制这种行为。
答案 0 :(得分:1)
如果某个通道在队列管理器上次结束之前处于RETRYING状态,则会在重新启动时记住此状态,并且在重新启动队列管理器时,您的通道将重新进入RETRYING,然后可以成功连接。