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).
# 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"); |