Reputation: 3541
I am just getting started with QuickFIX/J. One thing I am confused reading their documents is that what exactly is the messaging contract ensured by QuickFIX implementation of the FIX protocol?
In particular, I know FIX has a built-in sequence number based mechanism which implementations can leverage to handle out of order, missing or duplicated messages. But does QuickFIX/J already has the capability built in? As an application using QuickFIX/J to communicate with a fix engine, can I assume:
Messages delivered to my app from QuickFIX/J are always in order.
There is no missing messages (QuickFIX/J will automatically handle the re-requesting)
There is no duplicated messages (QuickFIX/J can look at the sequence number recieved so far and filter out possible duplication)
If the remote fix engine crashes, I will reconnect with the last known sequence number automatically when the engine comes back
If my app crashes, when it restarts will it be able to automatically resume the session from the previous known sequence number? (e.g. will there be any out of the box sequence number persistence mechanism?)
Upvotes: 2
Views: 904
Reputation: 3293
QuickFIX/J implements the FIX session protocol, so it handles all the session-level stuff (connecting, sequence numbers, ...) for you.
43/PossDupFlag
.FileStore
, JdbcStore
, MemoryStore
. You could also implement your own Store
if you need to.Here is a link on how to create a QFJ application, in case you haven't already found it: https://github.com/quickfix-j/quickfixj#creating-a-quickfixj-application
Upvotes: 3