[QFJ-221] Extend dynamic creation of sessions to have template IDs for each FIX version Created: 07/Aug/07  Updated: 11/Feb/09  Resolved: 16/Aug/07

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.3.0
Fix Version/s: 1.3.0

Type: Improvement Priority: Default
Reporter: Toli Kuznets Assignee: Steve Bate
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to QFJ-165 Allow for dynamic definition of sessions Closed

 Description   

This is an extension to QFJ-165.
Currently the way to allow for dynamic sessions is to use and specify a set of session settings and a template SessionID that will drive the creation of new sessions dynamically.

That works great as long as all the new sessions are of same FIX version and need the same data dictionary file.

However, if you want to support different FIX versions coming across the same acceptor connection this paradigm breaks down, since only the data dictionary of the template session will be used.

The simple solution is to use a Map of templateIDs --> SessionSettings, with different settings for each corresponding session id. Then you look up the appropriate template ID based on the incoming FIX version and use the corresponding settings.

Not sure if this simple approach has a similar (but yet undiscovered) future drawback....

Workaround:
In client code, you can subclass from DynamicAcceptorSessionProvider and override the getSession() method to overwrite the value of Data dictionary path to be the right version.



 Comments   
Comment by Steve Bate [ 08/Aug/07 ]

You could also create a template for each FIX version and bind them to separate acceptor ports. Clients would connect to a specific port depending on the version of FIX they wanted to use.

Comment by Toli Kuznets [ 08/Aug/07 ]

Good point - I guess we can have multiple SocketAcceptors and as a result multiple DynamicAcceptorSessionProviders.
that's a good workaround.

however, ideally i think it'd be good to have an option of being able to multiple different FIX version over the same port connection.

Generated at Sat May 18 23:24:50 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.