2013-05-06 50 views
3

prior question開始,我們發現了一些MQ通道無法理解的行爲。什麼是啓動我的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()與空白以外的任何條目。

什麼是開始我們的頻道?我無法在我們的測試系統上覆制這種行爲。

回答

1

如果一個通道在隊列管理器上次結束之前先前處於重試狀態,則在重新啓動時會記住此狀態,並且您的通道將在隊列管理器重新啓動後返回到重試狀態,然後可能成功連接。