|
From: Christoph J. <chr...@ma...> - 2019-07-16 08:27:31
|
Hi, I think I have found the problem in the code. When QFJ loads an app dictionary by default (i.e. when it does not find it in the cache), the validation settings do not get applied. But need to create a test case to be sure. Cheers, Chris. On 08/07/2019 18:08, Ilya Kurnosov wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > > > Hi, there's a nuance, yes: if AppDataDictionary is not provided explicitly then "an attempt will > be made to load a dictionary using the DefaultApplVerID for the session". The latter logic works > fine resulting in proper dictionary being used, alas sessions validation settings, if any, get > ignored. > > On Mon, Jul 8, 2019 at 2:05 PM Christoph John <chr...@ma... > <mailto:chr...@ma...>> wrote: > > Hi, > > I did not check the code but how should QFJ validate if fields are out of order if no > application data dictionary is specified? > Or did I misunderstand your question? > > Cheers, > Chris. > > On 21/03/2019 09:50, Ilya Kurnosov wrote: >> QuickFIX/J Documentation:http://www.quickfixj.org/documentation/ >> QuickFIX/J Support:http://www.quickfixj.org/support/ >> >> >> >> 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? >> >> >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... <mailto:Qui...@li...> >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > -- > Christoph John > Software Engineering > T +49 241 557080-28 > chr...@ma... <mailto:chr...@ma...> > > MACD GmbH > Oppenhoffallee 103 > 52066 Aachen, Germany > www.macd.com <http://www.macd.com> > > Amtsgericht Aachen: HRB 8151 > Ust.-Id: DE 813021663 > Geschäftsführer: George Macdonald > > > > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Christoph John Software Engineering T +49 241 557080-28 chr...@ma... MACD GmbH Oppenhoffallee 103 52066 Aachen, Germany www.macd.com Amtsgericht Aachen: HRB 8151 Ust.-Id: DE 813021663 Geschäftsführer: George Macdonald |