|
From: t.s. <tru...@cb...> - 2007-06-11 05:00:48
|
Hello again, everyone :)
As per the subject, i'm wondering about QuickfixJ reconnection policy
(for initiators). Suppose an Initiator got disconnected (for whatever
reason: network problems, power problems, hardware problems,
acceptor/server maintenance, etc), what's gonna happen next ?
There were mentions about 'ReconnectInterval' parameter in the config
file; does it mean that the initiator will retry to reconnect
indefinitely? Is the mechanism reliable ?
I couldn't make it work (with a third party server, so i don't know much
about the implementation details on their side) during my earlier tests,
so i resorted to using a background thread to create another instance of
the initiator when it detected any problems with the current one. This
approach worked fine so far, with a rather nasty catch.
This morning, the initiator failed to reconnect after the normal
maintenance downtime during the weekend. Apparently the server/acceptor
did a seqnum reset during the maintenance period since the log contains
errors similar to these :
...
quickfix.SessionException MsgSeqNum too low,
expecting 1793530 but received 11797
...
Then i found some configuration parameters ('ResetOnDisconnect' and
'ResetOnLogout') which seems to be the answer, but enabling this on my
current implementation gave several 'File Delete Failed' error messages,
probably because the file is still open/used at this time.
So, after the long rambling, i suppose the question is: How do i reset
the seqnum ? :) Or am i supposed to use something other than a FileStore ?
Thanks in advance,
regards,
t.s.
PS: I found an older thread about something similar from a couple of
weeks ago, with the subject of "Initiator.Stop leaves file handles open
when using FileStore", but i'm not sure i understand the conclusion...
|