c# - MQ Client is taking much time to understand that MQ queue manager is down -
try { mqmanager = new mqqueuemanager(queuemanager); try { mqrequestqueue = mqmanager.accessqueue(queuename, mqc.mqoo_input_as_q_def + mqc.mqoo_fail_if_quiescing); return true; } catch (ibm.wmq.mqexception exibm) { closeconnection(); errorcode = exibm.reason; errordescription = exibm.message; } } catch (ibm.wmq.mqexception exibm) { closeconnection(); errorcode = exibm.reason; errordescription = exibm.message;
i using above c# code connect mq using mqseries dll provided webspheremq. when queuemanager down taking 20-30 seconds till exception , can see has been stopped @ code.
is expected behaviour of mq client-server communication? if not ,how can detect if queuemanager down can hit next available queuemanager? there timeout property?
when running on client-server communication state are, there network involved. detection time of application of when queue manager goes unavailable depend on application doing @ time , how queue manager ended.
if queue manager quiesced, , application using queue manager connection @ time should immediate notification. similarly, if have connection exception handler if application not using queue manager connection @ time, exception handler counts if was, , should immediate notification. snippet of code provide suggests perhaps hinting in waiting when queue manager taken down?
if queue manager brought down more harshly quiesce, may have rely on network timeouts detect queue manager no longer @ other end of socket , delay seen.
could indicate in question how queue manager ended , whether have exception handler or whether application using connection @ time queue manager went down.
can update question ibm mq versions , details of svrconn channel, sharecnv , hbint.
Comments
Post a Comment