Ibm mq MQ |发送方长RTR

Ibm mq MQ |发送方长RTR,ibm-mq,Ibm Mq,我看到SENDER频道在longtrs启动后进入RETRY模式。它保持在RETRY模式,并在LONGMTR(1200)秒后重新启动。我的问题是-发送方通道是否会在消息发出后立即返回运行状态,而没有完成LONGMTR,或者等待LONGMTR时间?当与其合作伙伴的连接失败时,发送方通道将进入状态(重试)-A.k.A.重试模式 首先,假设许多网络故障都是非常短暂的,发送方通道将尝试少量非常接近的尝试来重新建立网络连接。它将每隔60秒尝试10次,以重新建立连接。这被称为“短重试” 这10次相隔60秒,在

我看到
SENDER
频道在
longtrs
启动后进入
RETRY
模式。它保持在
RETRY
模式,并在
LONGMTR(1200)
秒后重新启动。我的问题是-发送方通道是否会在消息发出后立即返回运行状态,而没有完成
LONGMTR
,或者等待
LONGMTR
时间?

当与其合作伙伴的连接失败时,发送方通道将进入
状态(重试)
-A.k.A.重试模式

首先,假设许多网络故障都是非常短暂的,发送方通道将尝试少量非常接近的尝试来重新建立网络连接。它将每隔60秒尝试10次,以重新建立连接。这被称为“短重试”

这10次相隔60秒,在名为
shortrtty
SHORTTMR
的发送方通道字段中进行编码

如果在前10次尝试之后,发送方通道仍然无法重新连接到网络伙伴,则它现在将转到“长时间重试”。它现在是在假设网络中断时间较长的情况下运行的,例如,合作伙伴队列管理器机器正在进行维护,或者发生了其他一些重大中断,而不仅仅是网络故障

发送方通道现在将尝试它希望的是无限次稍微间隔更大的尝试来重新建立连接。它将以1200秒的间隔尝试99999999次,以重新建立连接

此99999999和1200在名为
longtry
LONGTMR
的发送方通道字段中进行编码

通过使用DISPLAY CHSTATUS命令并查看
shortrtrts
longtrs
字段,您可以看到还有多少次尝试。这些应该是剩下的10个或99999999个。如果
SHORTRTS(0)
,则您知道发件人处于“长重试模式”

如果其中任何一次尝试重新建立连接成功,它将停止重试,您将看到发送方频道显示
状态(正在运行)
。请注意,成功是由于成功建立了网络连接,与消息是否到达无关

它将不会在成功连接到合作伙伴后继续重试(当然,直到下次连接丢失)


如果您的频道处于
状态(重试)
您应该查看
AMQERR01.LOG
以查找失败的原因。它可能是您可以在发送方端修复的,也可能是需要在接收方端修复的,例如重新启动队列管理器或侦听器。

Great write up Morag,我还建议增加
shortrtty
和减少
LONGTMR
,以确保在连接问题解决后尽快启动通道。IBM从不更改任何东西,这些默认值已经存在多年了。我建议的值是
shortrtty(120)longmr(300)
,如果问题在2小时内解决,它将在1分钟内运行,如果问题超过2小时,它将在5分钟内运行。建议您将重试调整到您自己的环境。我不想让答案变得更复杂,因为OP首先需要了解重试何时会停止。在调整您自己的重试值时,请始终确保LONGRTY的时间段足够长,可以覆盖所有内容,因为一旦所有重试都用尽,通道将进入停止状态。