继之前的问题之后,我们发现了一些我无法通过 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() 条目。
什么是启动我们的频道?我根本无法在我们的测试系统上复制这种行为。