You may find the FixB framework useful, as it does a great job with non-standard use cases for FIX.
As in your case, to retrieve only the data you are interested in, you need to determine the class that will represent this data and associate it with FIX using annotations. For instance:.
@FixBlock public class MDEntry { @FixField(tag=269) public int entryType;
In more common cases, the FixSerializer interface should be used, but this requires a message with the MsgType tag (35) and a class annotated with @FixMessage (type = "..."), respectively. For instance:.
@FixMessage(type="X") public class MarketData { @FixGroup(tag=268) public List<MDEntry> entries; } ... FixMetaDictionary fixMetaDictionary = FixMetaScanner.scanClassesIn("my.fix.classes.package"); FixSerializer fixSerializer = new NativeFixSerializer("FIX.5.0.SP2", fixMetaDictionary); MarketData marketData = fixSerializer.deserialize(fixMsg);
I hope you find this helpful.
source share