1

チャネル プロパティについて質問があります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:\windows\system32>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

ありがとう

4

1 に答える 1

1

Infocenter のトピックChecking that the other end of the channel is still availableを参照してください。このトピックでは、チャネルを閉じるかどうかを決定するアルゴリズムについてもう少し詳しく説明しています。具体的には、チャネルが切断される前に少なくとも 2 つのハートビートが流れる必要があるため、これを有効にするには HBINT が DISCINT の半分より十分に小さくなければなりません。また、チャネル ネゴシエーションは、どちらの MCA も HBINT に対してゼロの値を導出しないように完了する必要があります。

あなたの投稿には、一致する RCVR チャンネルのリストが含まれていませんでした。そこでHBINTを更新しなかったと思いますか?実行中のチャネルのステータスを表示すると、起動時にチャネル エージェントが 2 つの HBINT 値のうち大きい方をネゴシエートすることがわかります。したがって、RCVR で HBINT を更新しなかった場合、SDR で 30 に設定しても、実行中のチャネルの HBINT は 300 になります。

また、実際のタイミングは正確ではありません。その意図は、チャネルが少なくとも2 つの HBINT 間隔でタイムアウトすることですが、実際のタイムアウトはこの時間より長くなります。たとえば、HBINT を 10 に設定すると、約 40 秒後にチャネルが切断されました。チャネルのタイムアウトと切断は、チャネルの信頼性を向上させ、孤立したチャネルを取得することを目的としていますが、正確なタイミングはメッセージまたはトランザクション処理ほど重要ではありません。孤立したチャネルが大量にある場合は、HBINT を非常に低い値に設定して精度を期待するのではなく、壊れたプログラムを修正するか、ファイアウォールでタイムアウトを調整することでこれに対処するという考えです。チャネル切断の正確なタイミングが必要な場合は、別の場所に対処する必要がある根本原因があります。

于 2012-09-09T05:10:23.853 に答える