Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-982

Using the same dictionary file with different settings on different sessions causes problems

    Details

    • Type: Bug
    • Status: Open
    • Priority: Default
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0.0
    • Component/s: Engine
    • Labels:
      None

      Description

      [Affects all vaguely recent versions]

      The DefaultSessionFactory stores a cache DataDictionary objects based on the file name of that object.

      createDataDictionary fetches a DataDictionary object based on the file name and then applies settings to it based on the session.

      Because it applies the settings to and returns the DataDictionary object in the cache, not a copy of it, when a different session uses a dictionary from the same file, it will also have the settings applied.

      This means that configuration that's supposed to be session specific is not.

      What we should do is instead have a `SessionDataDictionarySettings` object to encapsulate the settings. Then when using the data dictionary, pass in the relevant settings for the session the message is being validated for.

      This would allow us to gain the advantages of reusing DataDictionary objects (lower memory usage) with the configuration settings required.

      It will however likely involve API changes.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                philipwhiuk02 Philip Whitehouse
                Reporter:
                philipwhiuk02 Philip Whitehouse
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: