Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Duplicate
-
Affects Version/s: 1.5.0
-
Fix Version/s: None
-
Component/s: Engine
-
Labels:None
-
Environment:kubuntu 11.04
jdk 1.6.0.26
Description
When starting an initiator via 'initiator.start()' the default section of the provided SessionSettings are overwitten in the method 'SessionSettings.getSessionProperties(SessionID, boolean) in line 175. This results in a corrupted session settings configuration. I.e. in case the default section defines a custom data dictionary 'default_dict', the first session section defines some other data dictionary 'dict1' and a second session section defines no data dictionary then the session properties for the second session will contain the 'dict1' data dictionary instead of the 'default_dict' data dictionary. This scenario can be reproduced with the following JUnit test:
package test;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringBufferInputStream;
import java.util.Properties;
import org.junit.Test;
import quickfix.Application;
import quickfix.ApplicationAdapter;
import quickfix.ConfigError;
import quickfix.LogFactory;
import quickfix.MemoryStoreFactory;
import quickfix.MessageStoreFactory;
import quickfix.ScreenLogFactory;
import quickfix.SessionID;
import quickfix.SessionSettings;
import quickfix.ThreadedSocketAcceptor;
import quickfix.ThreadedSocketInitiator;
import quickfix.fix42.MessageFactory;
public class FIXSessionSettingsModificationTest {
@Test
public void testGetSessionProperties() throws ConfigError
}