[Quickfix-developers] ThreadedSocketAcceptor & Message resend
Brought to you by:
orenmnero
From: John H. <jr...@ya...> - 2008-05-05 18:12:22
|
I have a FIX "router" which initiates connections to a few different exchanges, and accepts connections from two dozen different client applications here in our office. This "router" sends messages to the exchange on behalf of the client applications, and when it receives a message from an exchange it sends a copy to various clients depending on the Account tag and which client needs to see that message. On a typical day we process about half a million messages from the exchange per day. We had a situation today where a single client application needed to be reinstalled and we rolled back the expected sequence number for that client back to 0000000001 so that the "router" would replay all the messages for the day to that client app. Everything worked as expected in terms of the sequencing. What was curious to me though was that the "router" seems to have starved the other threads while it was replaying these messages. Since I'm using both the ThreadedSocketInitiator and the ThreadedSocketAcceptor, I would have thought that the other threads would have continued processing messages while this client app received its "replay". Am I incorrect in this assumption? Or have I perhaps failed to do something in my "router" code to allow it to continue processing messages on the other sessions? Thanks, john |