dxFeed has recently updated Instrument Profile Format (IPF) under dxFeed Java API version 3.311.
Technical details
dxFeed updated the file format with the “##COMPLETE” tag. The “##COMPLETE” tag now ensures the completeness of instruments data at the application level.
NOTE: IPF web service has already used this tag to separate the initial snapshot and following live updates.
Example:
#STOCK::=TYPE,SYMBOL,CURRENCY
STOCK,IBM,USD
##COMPLETE
Verification
All QD tools now issue a warning in the application log if received IPF does not end with the “##COMPLETE” tag.
Example:
W 220501 120000.662 [main] InstrumentProfileReader - ##COMPLETE tag is missing in IPF file:my-stocks.ipf
NOTE: Please monitor your logs and make sure that all your IPF sources are valid, especially if you are using filters with “hand-made” IPF, i.e. “ipf[my-stocks.ipf]”. IPF generated by our web service is already valid.
Read more about dxFeed Insturment Profile Format in our Knowledge Base.
Java API changes
- com.dxfeed.ipf.InstrumentProfileWriter class now adds “##COMPLETE” tag at the end when writing IPF.
- com.dxfeed.ipf.InstrumentProfileReader class now adds a warning to the log when reading IPF without “##COMPLETE” tag.
- New method “boolean wasComplete()” now checks if snapshot is received correctly.
- You can now use the New JVM parameter “-Dcom.dxfeed.ipf.complete=warn” to control missing ##COMPLETE tag:
- “ignore” – do nothing (for backward compatibility)
- “warn” – show warning in application log (current default)
- “error” – throw exception (will be future default)
QDS tools changes
- IPF files created by QDS instruments tool now have “##COMPLETE” tag at the end of file.
Please refer to dxFeed Help Desk if you have any questions or concerns.