From: Steve B. <sb...@sm...> - 2006-05-28 07:19:35
|
Hi Phil, =20 This feature is in QuickFIX/J. There is a RefreshableMessageStore interface that provides the methods for refreshing the store and marks which stores can be refreshed (MemoryStore can't, for example). The Session can be configured to refresh it's state at logon if a refreshable store is being used (see the "RefreshMessageStoreAtLogon" configuration option). This might give you some ideas how to modify the C++ code in a similar way. =20 Regards, =20 Steve ________________________________ From: qui...@li... [mailto:qui...@li...] On Behalf Of pc redev Sent: Friday, May 26, 2006 6:07 PM To: Oren Miller; qui...@li... Subject: Re: [Quickfix-developers] QuickFix FailOver/Farming Support. =09 =09 Oren, =20 From looking at the source looks like "revert" would propbably just call "populateCache()" on the message store's. Not sure where abouts in logon is the safest place to call this. =20 What is the possibility of this being available in a future release? I'd prefer not to change the code for my system as creates issues with Fix Fixengine releases. =20 Also is there a way I can simulate this behaviour without changing the "FixEngineCode". Is it possible to make the session "recreate" on the logon event, which would also have the same effect? In the worst case I could expose the "PopulateCache" as a public method, and call this on the "OnLogon", however I suspect this is too late as you will have already started using the sequence number. Any ideas on workaround would be appreciated. =20 Thanks Phil. =09 Oren Miller <or...@qu...> wrote: To do this we would need some sort of revert method on the MessageStore interface which would revert to the persisted state. This could then be called by a session when receiving a logon. It actually might be a useful thing to do in all logon situations. It also gives us the ability to modify sequence numbers and such without having to restart the engine. =20 --oren ----- Original Message -----=20 From: pc redev <mailto:pc....@ta...> =20 To: qui...@li...=20 Sent: Thursday, May 25, 2006 2:08 PM Subject: [Quickfix-developers] QuickFix FailOver/Farming Support. Hi,=20 =20 I have a QuickFixEngine connected to a "Clustered" MS SQL Server backend, running fine. I would like to be-able to provider "FailOver/Farming" support like: =20 Primary Machine: Fix Engine Running Serving Active Clients Secondary Machine: Fix Engine Running in No client connections. =20 Both Fix Engines are connected to the clustered SQL Server for the message store. =20 =20 If I "pull the plug" on A, clients are disconnected and connect to "secondary", which in theory when they connect we pick up the session from where it left off. =20 The problem is the "Secondary" quick fix engine does not know to "re-read" the clients "Sessions" when they connect, it appears that this is performed when the "Fix Engine Starts Up" probably during the create session. =20 My only solution at the moment would be to have the "Secondary" fix engine start on failover, i.e cold standby, which is not ideal.=20 =20 In the Fix Engine logic is it possible to "detect" a client socket connect and force a "re-read" of session information from the message store cleanly with no side effects? I'd prefer not to change the Fix engine source code. =20 =20 Any info would be appreciated. =20 Regards =20 Phil. ________________________________ Copy addresses and emails from any email account to Yahoo! Mail - quick, easy and free. Do it now... <http://us.rd.yahoo.com/mail/uk/taglines/default/trueswitch/*http://uk.d ocs.yahoo.com/trueswitch2.html>=20 =09 ________________________________ Try the all-new Yahoo! Mail <http://us.rd.yahoo.com/mail/uk/taglines/default/nowyoucan/wall_st_2/*ht tp://us.rd.yahoo.com/evt=3D40565/*http://uk.docs.yahoo.com/nowyoucan.html= > . "The New Version is radically easier to use" - The Wall Street Journal |