从 prior question 开始我们发现了一些我无法通过 MQ channel 理解的行为。
在启动时,我们发出以下命令:
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)
最后运行的脚本包含一系列 channel 启动命令。在此步骤中,我们会定期收到“正在使用” channel 的错误,并且在调查时我们发现该 channel 正在运行。
上面显示的延迟是最近引入的,因为我们认为在 channel 启动之前各个部分可能需要时间才能正常启动,但是这发现了一些奇怪的事情,因为我们遇到了三个 channel 的“正在使用”错误。
看来,给定时间, channel 会自行启动。但我无法弄清楚如何或为什么?我不是 100% 熟悉 channel 启动,但根据我从文档中了解到的信息,我们没有设置它——我扫描了一个配置转储,没有发现 INITQ( ) 的条目除了空白之外没有任何内容。
什么启动了我们的 channel ?我根本无法在我们的测试系统上复制这种行为。
最佳答案
如果 channel 在队列管理器上次结束之前处于重试状态,则在重新启动时会记住此状态,并且您的 channel 将在队列管理器重新启动时返回重试状态,然后可能会成功连接。
关于ibm-mq - 什么启动了我的 MQ channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16407523/