From: Ilya K. <kur...@gm...> - 2019-03-21 08:50:46
|
Hello! I ran into some interesting behavior with quickfixj 2 today. My question is if it's intentionally designed this way? And, if yes, if someone could explain the reasoning behind it? The behavior I see is that all the session validation settings: - Session.SETTING_VALIDATE_FIELDS_HAVE_VALUES ("ValidateFieldsHaveValues") - Session.SETTING_VALIDATE_FIELDS_OUT_OF_ORDER ("ValidateFieldsOutOfOrder") - Session.SETTING_VALIDATE_UNORDERED_GROUP_FIELDS ("ValidateUnorderedGroupFields") - Session.SETTING_VALIDATE_USER_DEFINED_FIELDS ("ValidateUserDefinedFields") - Session.SETTING_ALLOW_UNKNOWN_MSG_FIELDS ("AllowUnknownMsgFields") have exactly no effect on the validation of FIXT application messages unless one also explicitly sets "AppDataDictionary" option (Session.SETTING_APP_DATA_DICTIONARY). I observe this behavior in tests, but the code in DefaultSessionFactory#processFixtDataDictionaries looks rather unambiguous too ( https://github.com/quickfix-j/quickfixj/blob/QFJ_RELEASE_2_1_1/quickfixj-core/src/main/java/quickfix/DefaultSessionFactory.java#L283). It looks like DefaultSessionFactory#createDataDictionary (the only place using those Validate* and AllowUnknownMsgFields settings) is called to create app dictionary IIF AppDataDictionary is present. Is this behavior intentional? |