I thought about 1 single message module since :
- the quickfix.Message class rely on generated code not present in all FIX dictionaries
throw new FieldException(SessionRejectReason.TAG_APPEARS_MORE_THAN_ONCE, field.getTag());
- While the FIX-generated classes (even FIX40 and FIX41) all depend back on this Message class.
This looks like using the jar quickfixj-msg-fix40.jar would require quickfixj-core.jar (for the Message class) and quickfixj-msg-fix42.jar or later (for the SessionRejectReason class) on its classpath.
Considering that all jars seems required everytime, why not one single jar with all messages in it ?...
When trying this I faced a compilation issue : it all the FIX-generated classes couldn't be compiled together in my environment (OOM error during compilation whatever the max heapsize, either on Java6 or Java7 JDK ) when FIX50-SPxx are present.
BTW one can see that all FIX dictionaries but FIX50-SPxx are generated and compiled in the core module so I guess that someone else has already faced the issue...
Maybe the message modules should be kept, but while ensuring that the classes used by the generated code are not using back this generated code (namely DataDictionary, DataDictionaryProvider, FieldMap, Message, MessageUtils, SessionID, SessionRejectReasonText classes).
Hi, we already have QFJ-782 but it does not have very much description.
Do you see any advantage in having one single message module?