How to set up custom FIX dictionaries
FIX Antenna Java supports customized FIX protocols via using custom FIX Antenna dictionaries for FIX sessions.Â
The format of the FIX Antenna dictionary is different from the QuickFIX dictionaries format.
To support it, please first specify the 'customFIXVersions' section in the FIX Antenna configuration file (fixengine.properties).Â
fixengine.properties
# comma separated list of custom FIX dictionary aliases customFixVersions=FIX44Custom,FIX50Custom # pair of 'fixVersion' and 'fileName' for each FIX dictionary alias with pattern: # customFixVersion.<custom FIX version alias>.fixVersion=<base standard FIX version> # customFixVersion.<custom FIX version alias>.fileName=<custom FIX dictionary file name> # example of custom FIX dictionary based on FIX.4.4 customFixVersion.FIX44Custom.fixVersion=FIX.4.4 customFixVersion.FIX44Custom.fileName=classpath:fixdic44-custom.xml # examples of custom FIX dictionary based on FIX.5.0 customFixVersion.FIX50Custom.fixVersion=FIX.5.0 customFixVersion.FIX50Custom.fileName=classpath:fixdic50-custom.xml
The next step is to set defined dictionary aliases as a session's fixVersion or appVersion in the configuration file:
# comma separated list of configured sessions sessionIDs=session1,session2,session3 # session1 configured with default 'FIX.4.4' dictionary sessions.session1.sessionType=acceptor sessions.session1.fixVersion=FIX.4.4 sessions.session1.senderCompID=senderCompID1 sessions.session1.targetCompID=targetCompID1 # session2 configured with custom 'FIX44Custom' dictionary sessions.session2.sessionType=acceptor sessions.session2.fixVersion=FIX44Custom sessions.session2.senderCompID=senderCompID2 sessions.session2.targetCompID=targetCompID2 # session3 configured with custom 'FIX50Custom' dictionary sessions.session3.sessionType=acceptor sessions.session3.fixVersion=FIXT.1.1 sessions.session3.appVersion=FIX50Custom sessions.session3.senderCompID=senderCompID3 sessions.session3.targetCompID=targetCompID3
The same can be done in the application code:
// creating connection parameters SessionParameters sessionParameters = new SessionParameters(); sessionParameters.setFixVersion(FIXVersion.FIXT11); // configured with custom 'FIX50Custom' dictionary sessionParameters.setAppVersion("FIX50Custom");