MQ通道属性检测信号间隔的问题



我有一个关于通道属性的问题Heartbeat Interval(HBINT)。根据信息中心的说法,当间隔条件成熟且MCA畅通时,它将导致通道断开。我在本地QMGR中做了一个小测试,但我发现通道(发送方-接收方)并没有像预期的那样变为非活动。那么这里的问题是什么呢?请帮帮我。信道定义细节如下:

 CHANNEL(EDISONQM.GRACEQM.C1)            CHLTYPE(SDR)
 ALTDATE(2012-09-09)                     ALTTIME(11.50.52)
 BATCHHB(0)                              BATCHINT(0)
 BATCHLIM(5000)                          BATCHSZ(50)
 COMPHDR(NONE)                           COMPMSG(NONE)
 CONNAME(localhost(1414))                CONVERT(NO)
 DESCR( )                                DISCINT(300)
 HBINT(30)                               KAINT(AUTO)
 LOCLADDR( )                             LONGRTY(999999999)
 LONGTMR(1200)                           MAXMSGL(4194304)
 MCANAME( )                              MCATYPE(PROCESS)
 MCAUSER( )                              MODENAME( )
 MONCHL(QMGR)                            MSGDATA( )
 MSGEXIT( )                              NPMSPEED(FAST)
 PASSWORD( )                             PROPCTL(COMPAT)
 RCVDATA( )                              RCVEXIT( )
 RESETSEQ(NO)                            SCYDATA( )
 SCYEXIT( )                              SENDDATA( )
 SENDEXIT( )                             SEQWRAP(999999999)
 SHORTRTY(10)                            SHORTTMR(60)
 SSLCIPH( )                              SSLPEER( )
 STATCHL(QMGR)                           TPNAME( )
 TRPTYPE(TCP)                            USEDLQ(YES)
 USERID( )                               XMITQ(EDISONQM.GRACEQM.X1)
 CHANNEL(EDISONQM.GRACEQM.C1)            CHLTYPE(RCVR)
 ALTDATE(2012-09-09)                     ALTTIME(11.51.42)
 BATCHSZ(50)                             COMPHDR(NONE)
 COMPMSG(NONE)                           DESCR( )
 HBINT(30)                               KAINT(AUTO)
 MAXMSGL(4194304)                        MCAUSER( )
 MONCHL(QMGR)                            MRDATA( )
 MREXIT( )                               MRRTY(10)
 MRTMR(1000)                             MSGDATA( )
 MSGEXIT( )                              NPMSPEED(FAST)
 PUTAUT(DEF)                             RCVDATA( )
 RCVEXIT( )                              RESETSEQ(NO)
 SCYDATA( )                              SCYEXIT( )
 SENDDATA( )                             SENDEXIT( )
 SEQWRAP(999999999)                      SSLCAUTH(REQUIRED)
 SSLCIPH( )                              SSLPEER( )
 STATCHL(QMGR)                           TRPTYPE(TCP)
 USEDLQ(YES)

 C:windowssystem32>dspmqver
 Name:        WebSphere MQ
 Version:     7.1.0.1
 Level:       p710-001-120524
 BuildType:   IKAP - (Production)
 Platform:    WebSphere MQ for Windows
 Mode:        32-bit
 O/S:         Windows 7 Home Premium x64 Edition, Build 7600
 InstName:    Installation1

感谢

您可能希望查看信息中心主题检查通道的另一端是否仍然可用,这将详细介绍决定是否关闭通道的算法。具体来说,在通道断开连接之前,必须至少有两个心跳,因此HBINT必须远小于DISCINT的一半才能生效。此外,信道协商必须完成,这样两个MCA都不能为HBINT导出零值。

您的帖子中没有列出匹配的RCVR频道。我怀疑你没有更新那里的重型作战情报?如果显示正在运行的通道的状态,您将看到通道代理在启动时协商其两个HBINT值中的较大。因此,如果你没有在RCVR上更新HBINT,那么即使你在SDR上将其设置为30,运行通道的HBINT也将为300。

此外,实际时间并不准确。其目的是通道将在内超时,不少于两个HBINT间隔,但实际超时将超过此数量。例如,我将HBINT设置为10,并在大约40秒后看到通道断开。通道超时和断开连接旨在提高通道的可靠性并获得孤立通道,但准确的时间并不像消息或事务处理那样重要。这个想法是,如果你有大量的孤立通道,你可以通过修复损坏的程序或调整防火墙的超时来解决这个问题,而不是将HBINT设置为一个非常低的值并期望精度。如果您需要通道断开的确切时间,那么需要解决其他地方的根本原因。

最新更新