|
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?
|