[Quickfix-developers] implementation of msmq
Brought to you by:
orenmnero
|
From: Parthosarathi K. <par...@gm...> - 2005-09-02 12:42:51
|
hi friends.. im currently tryin to implement MSMQ in my orderserver(using quickfix 4.2 t= o=20 create a interface between different clients and cme exchange) the queue is located in the cmeorderserver machine and is implemented=20 between the clients and the cme order server. the ideal situation- 1) the client places a request(order/cancel order etc) to the=20 cmeorderserver..which in turn places the same request to cme 2)in return cme processes the order and sends the execution report to=20 cmeorderserver and cme orderserver passes on to the client now in pt.2 suppose the client gets dscon then we send the message(executio= n=20 report) to the queue (which stores it accoding to targetcomp id of the=20 client)...now when the client logs back in..the cme order server reads the= =20 pending msg from the q and sends it to the client now the problem im facing is that when the client logs in the 2nd time ,the= =20 messages are read from the queue to the client but the messages do not go t= o=20 the messagecrack function since as soon as the client logs on to cme orderserver it recives the unsen= t=20 msgs from the q with msg sequence mismatch at the cleint side..=20 the log files are /*****FIX.4.2-CLIENT1-CMEORDERSERVER.event******/ 20050901-14:54:04 : Initiated logon request 20050901-14:54:04 : Received logon response 20050901-14:54:04 : MsgSeqNum too high, expecting 535 but received=20 537(/**537 is the msg seq num of the execution 20050901-14:54:04 : Sent ResendRequest FROM: 535 TO: 0 20050901-14:54:09 : Received SequenceReset FROM: 536 TO: 538 20050901-15:01:48 : Dropped Connection /****FIX.4.2-CLIENT1-CMEORDERSERVER.incoming*****/ 8=3D FIX.4.2=019=3D113=0135=3DA=0134=3D537=0149=3DCMEORDERSERVER=0150=3DH65524N= =0152=3D20050901-14:54:04.000=0156=3DCLIENT1=01142=3Dtest123=0195=3D3=0196= =3DH65=0198=3D0=01108=3D30=0110=3D075=01 logon message from cmeorederserver 8=3D FIX.4.2=019=3D342=0135=3D8=0134=3D535=0143=3DY=0149=3DCMEORDERSERVER=0150= =3DH65524N=0152=3D20050901-14:54:04.000=0156=3DCLIENT1=01122=3D20050901-14:= 53:35=01142=3Dtest123=01369=3D2883=011=3D666666=016=3D0=0111=3D12345678=011= 4=3D0=0117=3D00014520050901095328=0120=3D0=0137=3D20050901002180=0138=3D100= =0139=3D0=0140=3D2=0141=3D0=0144=3D124275=0148=3DCME000010306=0154=3D1=0155= =3DES=0159=3D0=0160=3D20050901-14:53:28=01107=3DES20051200=01150=3D0=01151= =3D100=01167=3DFUT=01432=3D20050901=0110=3D028=01 execution report (read from the queue and sent to the client)=20 8=3D FIX.4.2=019=3D129=0135=3D4=0134=3D536=0143=3DY=0149=3DCMEORDERSERVER=0150= =3DH65524N=0152=3D20050901-14:54:09.000=0156=3DCLIENT1=01122=3D20050901-14:= 54:09=01142=3Dtest123=0136=3D538=01123=3DY=0110=3D159=01 =20 as a result the message is lost.. regards=20 Partho |