private void startFixClient()

in src/main/java/com/amazonaws/fixengineonaws/FixEngine.java [572:607]


    private void startFixClient(FixEngineConfig config) throws ConfigError {
	    LOGGER.info(MY_IP+"****STARTING FIX CLIENT APPLICATION");
	    if(FIX_CLIENT!=null) {
		    LOGGER.info(MY_IP+"START FIX CLIENT: FIX_CLIENT object already exists!");
	    } else {
	        MessageStoreFactory messageStoreFactoryClient = null;
	        if("true".equals(config.getSessionSetting("UseJdbcMessageStore"))) { 
	            messageStoreFactoryClient = new JdbcStoreFactory(config.getSessionSettings());
	        } else {
	            messageStoreFactoryClient = new FileStoreFactory(config.getSessionSettings());
	        }                               
	        LogFactory logFactoryClient = new ScreenLogFactory(true, true, true);
	        MessageFactory messageFactoryClient = new DefaultMessageFactory();
	
	        FIX_CLIENT = new SocketInitiator(this, messageStoreFactoryClient, config.getSessionSettings(), logFactoryClient, messageFactoryClient);
		    LOGGER.info(MY_IP+"START FIX CLIENT: FIX_CLIENT object created: " + FIX_CLIENT);	    	
	    }

	    if(FIX_SESSION_ID!=null) {
		    LOGGER.info(MY_IP+"START FIX CLIENT: FIX_OUTBOUND_SESSION_ID object already exists!");
	    } else {
	        FIX_CLIENT.start();
	        FIX_SESSION = Session.lookupSession(FIX_CLIENT.getSessions().get(0)); 
		    LOGGER.info(MY_IP+"START FIX CLIENT: FIX_OUTBOUND_SESSION object created: " + FIX_SESSION);
	
	        while(FIX_SESSION_ID == null) {
		        LOGGER.info(MY_IP+"****QUICKFIX CLIENT START: WAITING FOR SERVER..." );
		        try {
		          Thread.sleep(500);  
		        } catch (InterruptedException ie) {
		            LOGGER.info(MY_IP+"****QUICKFIX CLIENT START: FixEngine THREAD INTERRUPTED: " + ie);
		        }
		    }
		    LOGGER.info(MY_IP+"START FIX CLIENT: FIX_OUTBOUND_SESSION_ID connection established: " + FIX_SESSION_ID);
	    }
    }