final SessionSettings ss = new SessionSettings( "session.cfg" ); for( final Iterator<SessionID> i = ss.sectionIterator(); i.hasNext(); ) { final SessionID id = i.next(); if( id.getSenderCompID().startsWith("quote") ) ss.setString( id, "SocketConnectHost", "123.101.202.010" ); }
private static String getString(SessionSettings sessionSettings, SessionID sessionID, String key, String defaultValue) { String propertyValue = defaultValue; if (sessionSettings.isSetting(sessionID, key)) { try { propertyValue = sessionSettings.getString(sessionID, key); } catch (ConfigError ignored) { } } return propertyValue; }
/** * Set a default long parameter. * * @param key the settings key * @param value the settings value */ public void setLong(String key, long value) { setLong(DEFAULT_SESSION_ID, key, value); }
ApplicationAdapter application = new FixInitiator(); SessionSettings settings = new SessionSettings("./config/initiator.cfg"); CustomLogFactory customLogFactory = new CustomLogFactory(settings, myCustomID); DefaultMessageFactory messageFactory = new DefaultMessageFactory(); FileStoreFactory fileStoreFactory = new FileStoreFactory(settings); socketInitiator = new SocketInitiator(application, fileStoreFactory, settings, customLogFactory, messageFactory); socketInitiator.start();
public synchronized Session getSession(SessionID sessionID, SessionConnector sessionConnector) { Session s = Session.lookupSession(sessionID); if (s == null) { try { SessionID templateID = lookupTemplateID(sessionID); if (templateID == null) { throw new ConfigError("Unable to find a session template for " + sessionID); } SessionSettings dynamicSettings = new SessionSettings(); copySettings(dynamicSettings, settings.getDefaultProperties()); copySettings(dynamicSettings, settings.getSessionProperties(templateID)); dynamicSettings.setString(BEGINSTRING, sessionID.getBeginString()); dynamicSettings.setString(SENDERCOMPID, sessionID.getSenderCompID()); optionallySetValue(dynamicSettings, SENDERSUBID, sessionID.getSenderSubID()); optionallySetValue(dynamicSettings, SENDERLOCID, sessionID.getSenderLocationID()); dynamicSettings.setString(TARGETCOMPID, sessionID.getTargetCompID()); optionallySetValue(dynamicSettings, TARGETSUBID, sessionID.getTargetSubID()); optionallySetValue(dynamicSettings, TARGETLOCID, sessionID.getTargetLocationID()); s = sessionFactory.create(sessionID, dynamicSettings); if (sessionConnector != null) { sessionConnector.addDynamicSession(s); } } catch (ConfigError e) { throw new QFJException(e); } } return s; }
/** * Creates a file-based message store. * * @param sessionID session ID for the message store. */ public MessageStore create(SessionID sessionID) { try { boolean syncWrites = false; if (settings.isSetting(sessionID, SETTING_FILE_STORE_SYNC)) { syncWrites = settings.getBool(sessionID, SETTING_FILE_STORE_SYNC); } int maxCachedMsgs = 10000; if (settings.isSetting(sessionID, SETTING_FILE_STORE_MAX_CACHED_MSGS)) { long maxCachedMsgsSetting = settings.getLong(sessionID, SETTING_FILE_STORE_MAX_CACHED_MSGS); if (maxCachedMsgsSetting >= 0 && maxCachedMsgsSetting <= (long) Integer.MAX_VALUE) { maxCachedMsgs = (int) maxCachedMsgsSetting; } } return new FileStore(settings.getString(sessionID, FileStoreFactory.SETTING_FILE_STORE_PATH), sessionID, syncWrites, maxCachedMsgs); } catch (Exception e) { throw new RuntimeException(e); } } }
private void createSessions(SessionSettings settings) throws ConfigError, FieldConvertError { HashMap<SessionID, Session> allSessions = new HashMap<>(); for (Iterator<SessionID> i = settings.sectionIterator(); i.hasNext();) { SessionID sessionID = i.next(); String connectionType = settings.getString(sessionID, SessionFactory.SETTING_CONNECTION_TYPE); boolean isTemplate = false; if (settings.isSetting(sessionID, Acceptor.SETTING_ACCEPTOR_TEMPLATE)) { isTemplate = settings.getBool(sessionID, Acceptor.SETTING_ACCEPTOR_TEMPLATE); } if (connectionType.equals(SessionFactory.ACCEPTOR_CONNECTION_TYPE)) { AcceptorSocketDescriptor descriptor = getAcceptorSocketDescriptor(settings, sessionID); if (!isTemplate) { Session session = sessionFactory.create(sessionID, settings); descriptor.acceptSession(session); allSessions.put(sessionID, session); } } } setSessions(allSessions); if (socketDescriptorForAddress.isEmpty()) { throw new ConfigError("No acceptor sessions found in settings."); } }
private InetSocketAddress getAcceptorSocketAddress(SessionSettings settings, SessionID sessionID) throws ConfigError, FieldConvertError { String acceptorHost = "0.0.0.0"; if (settings.isSetting(sessionID, SETTING_SOCKET_ACCEPT_ADDRESS)) { acceptorHost = settings.getString(sessionID, SETTING_SOCKET_ACCEPT_ADDRESS); } int acceptorPort = (int) settings.getLong(sessionID, SETTING_SOCKET_ACCEPT_PORT); return new InetSocketAddress(acceptorHost, acceptorPort); }
static DataSource getDataSource(SessionSettings settings, SessionID sessionID) throws ConfigError, FieldConvertError { if (settings.isSetting(sessionID, JdbcSetting.SETTING_JDBC_DS_NAME)) { String jndiName = settings.getString(sessionID, JdbcSetting.SETTING_JDBC_DS_NAME); try { return (DataSource) new InitialContext().lookup(jndiName); String jdbcDriver = settings.getString(sessionID, JdbcSetting.SETTING_JDBC_DRIVER); String connectionURL = settings.getString(sessionID, JdbcSetting.SETTING_JDBC_CONNECTION_URL); String user = settings.getString(sessionID, JdbcSetting.SETTING_JDBC_USER); String password = settings.getString(sessionID, JdbcSetting.SETTING_JDBC_PASSWORD); int maxConnCount = settings .isSetting(JdbcSetting.SETTING_JDBC_MAX_ACTIVE_CONNECTION) ? settings.getInt(sessionID, JdbcSetting.SETTING_JDBC_MAX_ACTIVE_CONNECTION) : 32; int simultaneousBuildThrottle = settings .isSetting(JdbcSetting.SETTING_JDBC_SIMULTANEOUS_BUILD_THROTTLE) ? settings.getInt(sessionID, JdbcSetting.SETTING_JDBC_SIMULTANEOUS_BUILD_THROTTLE) : maxConnCount; long maxActiveTime = settings .isSetting(JdbcSetting.SETTING_JDBC_MAX_ACTIVE_TIME) ? settings.getLong(sessionID, JdbcSetting.SETTING_JDBC_MAX_ACTIVE_TIME) : 5000; int maxConnLifetime = settings .isSetting(JdbcSetting.SETTING_JDBC_MAX_CONNECTION_LIFETIME) ? settings.getInt(sessionID, JdbcSetting.SETTING_JDBC_MAX_CONNECTION_LIFETIME) : 28800000;
/** * Creates a file-based message store. * * @param sessionID session ID for the message store. */ public MessageStore create(SessionID sessionID) { try { boolean syncWrites = false; if (settings.isSetting(sessionID, SETTING_FILE_STORE_SYNC)) { syncWrites = settings.getBool(sessionID, SETTING_FILE_STORE_SYNC); } return new CachedFileStore(settings.getString(sessionID, SETTING_FILE_STORE_PATH), sessionID, syncWrites); } catch (Exception e) { throw new RuntimeException(e); } } }
settings = new SessionSettings(); settings.setLong(sessionID, FIXConstants.HEART_BY_INT, FIXConstants.DEFAULT_HEART_BT_INT_VALUE); settings.setString(sessionID, FIXConstants.START_TIME, FIXConstants.DEFAULT_START_TIME_VALUE); settings.setString(sessionID, FIXConstants.END_TIME, FIXConstants.DEFAULT_END_TIME_VALUE); } else { try { settings = new SessionSettings(fixConfigStream); } catch (ConfigError e) { throw new AxisFault("Error in the specified FIX configuration for the initiator. " + settings.setString(sessionID, entry.getKey(), entry.getValue()); settings.setString(sessionID, FIXConstants.CONNECTION_TYPE, FIXConstants.FIX_INITIATOR); settings.setString(sessionID, FIXConstants.SOCKET_CONNECT_HOST, socketAddressElements[0]); settings.setString(sessionID, FIXConstants.SOCKET_CONNECT_PORT, socketAddressElements[1]);
public void toString(PrintWriter writer) { try { writeSection("[DEFAULT]", writer, getDefaultProperties()); final Iterator<SessionID> s = sectionIterator(); while (s.hasNext()) { try { writeSection("[SESSION]", writer, getSessionProperties(s.next())); } catch (final ConfigError e) { log.error("Invalid session", e); } } } finally { writer.flush(); } }
private void createSessions() throws ConfigError, FieldConvertError { final SessionSettings settings = getSettings(); boolean continueInitOnError = false; if (settings.isSetting(SessionFactory.SETTING_CONTINUE_INIT_ON_ERROR)) { continueInitOnError = settings.getBool(SessionFactory.SETTING_CONTINUE_INIT_ON_ERROR); } final Map<SessionID, Session> initiatorSessions = new HashMap<>(); for (final Iterator<SessionID> i = settings.sectionIterator(); i.hasNext();) { final SessionID sessionID = i.next(); if (isInitiatorSession(sessionID)) { try { if (!settings.isSetting(sessionID, SETTING_DYNAMIC_SESSION) || !settings.getBool(sessionID, SETTING_DYNAMIC_SESSION)) { final Session quickfixSession = createSession(sessionID); initiatorSessions.put(sessionID, quickfixSession); } } catch (final Throwable e) { if (continueInitOnError) { log.error("error during session initialization, continuing...", e); } else { throw e instanceof ConfigError ? (ConfigError) e : new ConfigError( "error during session initialization", e); } } } } setSessions(initiatorSessions); }
try (InputStream inputStream = getClass().getResourceAsStream( "market.cfg")) { settings = new SessionSettings(inputStream); dict = new DataDictionary(settings.getString("DataDictionary"));
application = new FixApplication(); sessionId = exsimFeedConfig.getSessionId(); SessionSettings sessionSettings = new SessionSettings(); exsimFeedConfig.populateSessionSettings(sessionSettings); sessionSettings.setString(SessionFactory.SETTING_CONNECTION_TYPE, SessionFactory.INITIATOR_CONNECTION_TYPE); SLF4JLoggerProxy.debug(this,
protected void optionallySetValue(SessionSettings dynamicSettings, String key, String value) { dynamicSettings.setString(key, value); }
private int[] getLogonIntervalsInSeconds(SessionSettings settings, SessionID sessionID) throws ConfigError { if (settings.isSetting(sessionID, Initiator.SETTING_RECONNECT_INTERVAL)) { try { final String raw = settings.getString(sessionID, Initiator.SETTING_RECONNECT_INTERVAL); final int[] ret = SessionSettings.parseSettingReconnectInterval(raw); if (ret != null) return ret; } catch (final Throwable e) { throw new ConfigError(e); } } return new int[] { 5 }; // default value }
private Set<InetAddress> getInetAddresses(SessionSettings settings, SessionID sessionID) throws ConfigError { if (settings.isSetting(sessionID, Session.SETTING_ALLOWED_REMOTE_ADDRESSES)) { try { final String raw = settings.getString(sessionID, Session.SETTING_ALLOWED_REMOTE_ADDRESSES); return SessionSettings.parseRemoteAddresses(raw); } catch (final Throwable e) { throw new ConfigError(e); } } return null; // default value }