Qual è il contratto di messaggistica di QuickFIX / J? Sono garantito nella consegna dell'ordine?
Sto appena iniziando con QuickFIX / J. Una cosa che mi confonde leggendo i loro documenti è che qual è esattamente il contratto di messaggistica assicurato dall'implementazione QuickFIX del protocollo FIX?
In particolare, so che FIX ha un meccanismo basato sul numero di sequenza incorporato che le implementazioni possono sfruttare per gestire messaggi fuori ordine, mancanti o duplicati. Ma QuickFIX / J ha già la funzionalità integrata? Come applicazione che utilizza QuickFIX / J per comunicare con un motore di correzione, posso presumere:
I messaggi consegnati alla mia app da QuickFIX / J sono sempre in ordine.
Non ci sono messaggi mancanti (QuickFIX / J gestirà automaticamente la ri-richiesta)
Non ci sono messaggi duplicati (QuickFIX / J può guardare il numero di sequenza ricevuto finora e filtrare eventuali duplicazioni)
Se il motore di riparazione remota si arresta in modo anomalo, mi riconnetterò automaticamente con l'ultimo numero di sequenza noto quando il motore tornerà
Se la mia app si arresta in modo anomalo, al riavvio sarà in grado di riprendere automaticamente la sessione dal precedente numero di sequenza noto? (es. ci sarà un meccanismo di persistenza del numero di sequenza fuori dagli schemi?)
Risposte
QuickFIX / J implementa il protocollo di sessione FIX, quindi gestisce tutte le cose a livello di sessione (connessione, numeri di sequenza, ...) per te.
- Sì, ma potrebbero esserci dei duplicati, vedere 3.
- Sì.
- No, in realtà QFJ inoltrerà comunque eventuali duplicati alla tua app perché potresti comunque volerli gestire. È necessario filtrarli da soli se lo si desidera, in base a
43/PossDupFlag
. - Sì.
- Sì. QFJ ha alcuni fuori dalla scatola persistenza meccanismi come
FileStore
,JdbcStore
,MemoryStore
. Potresti anche implementarne uno tuoStore
se necessario.
Ecco un collegamento su come creare un'applicazione QFJ, nel caso in cui non l'hai già trovata: https://github.com/quickfix-j/quickfixj#creating-a-quickfixj-application