Ibm mq WebSphere MQ v7.1通道正在关闭
我所配置的两个队列管理器(运行在Redhat Linux上的WebSphere MQ v7.1)之间的发送方和接收方通道经常出现故障。知道为什么吗?我如何调试这个?谢谢。频道预计会关闭。这个想法是,只要有流量,它们就会保持活动状态,然后超时。假设已将它们配置为触发,XMitQ上出现消息会导致通道再次启动 原因是,如果被网络故障或其他不利事件中断,触发的通道通常会重新启动。但是,如果通道配置为全天候运行,则其停止的唯一方式是由于这些不良事件之一,这增加了重新启动通道需要人工干预的可能性。另一方面,超时的频道可以在不活动时发生的各种恶劣网络事件中生存。允许它在不使用时超时,从而提高通道的整体可靠性 那么,如何触发通道呢?确保传输队列包含Ibm mq WebSphere MQ v7.1通道正在关闭,ibm-mq,Ibm Mq,我所配置的两个队列管理器(运行在Redhat Linux上的WebSphere MQ v7.1)之间的发送方和接收方通道经常出现故障。知道为什么吗?我如何调试这个?谢谢。频道预计会关闭。这个想法是,只要有流量,它们就会保持活动状态,然后超时。假设已将它们配置为触发,XMitQ上出现消息会导致通道再次启动 原因是,如果被网络故障或其他不利事件中断,触发的通道通常会重新启动。但是,如果通道配置为全天候运行,则其停止的唯一方式是由于这些不良事件之一,这增加了重新启动通道需要人工干预的可能性。另一方面,
TRIGGER
、TRIGTYPE
、TRIGDATA
和INITQ
属性。例如,要定义到JUPITER
QMgr的传输队列:
DEF QL(JUPITER) +
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDATA('MYQMGR.JUPITER') +
INITQ(SYSTEM.CHANNEL.INITQ) +
REPLACE
束中唯一的变量是TRIGDATA
,它包含服务于此XMitQ的通道的名称
当然,通道启动器必须正在运行,但在现代版本的WMQ中,它默认启动(基于队列管理器的SCHINIT
属性的值),因此通常会运行
无法触发处于停止状态的通道。默认情况下,STOP CHL
命令使用STATUS(STOPPED)
,因此大部分时间手动停止通道可防止触发。如果要停止通道,使其重新启动(例如测试触发),请使用stop CHL(CHLNAME)STATUS(INACTIVE)
命令。如果通道已处于停止状态,则发出启动CHL命令使其立即启动,或使用停止CHL(CHLNAME)状态(非活动)将状态从停止状态更改为非活动状态,而不启动通道
通道启动后,通道的DISCINT
属性确定在超时之前它将运行多长时间。该值以秒为单位,默认为600,即10分钟。DISCINT
、KAINT
和HBINT
组合起来确定频道何时关闭。请注意,TCP规范要求使用keepalive在默认情况下禁用它们,因此如果要在通道上使用keepalive,必须在QMgr调优中启用它,如所述
有关配置详细信息,请参阅信息中心中的。如果您想了解更多关于内部和调优的信息,请查看WebSphere MQ—保持通道正常运行。(SupportPac有点过时,但调整原则仍然适用。如果存在差异,则信息中心是权威版本。)
如果您想保持频道连续运行,请设置
DISCINT(0)
,但请记住触发仍然是首选选项。一些商店需要尽量减少营业日的响应时间,因此将DISCINT
的值设置为允许频道在夜间超时,但通常保持频道全天运行。如果由于某种原因,您的触发设置正确,并且通道在DISCIINT
之前关闭,您应该能够在错误日志中查看原因。它们位于QMgr目录下的errors
下。例如,在UNIX/Linux上,它们位于/var/mqm/qmgrs/qmgrname/errors
中,而在Windows上,默认位置是C:\ProgramFiles(x86)\WebSphere MQ\qmgrs\qmgrname\errors
。查找名为AMQERR???.LOG
的文件,其中??
=01
、02
或03
。日志在01
是当前日志,02
是下一个日志的位置旋转,依此类推。如果您有一个非常繁忙的QMgr,您需要在频道关闭时立即捕获这些信息,否则它们可能会消失。非常感谢您,非常详细和精彩。在我的例子中,通道没有启动,消息卡在传输队列中。我对我的传输队列做了几处更改,我将监视情况。我相信这就是问题所在,这就解决了问题。