public JdbcStore(SessionSettings settings, SessionID sessionID, DataSource ds) throws Exception { this.sessionID = sessionID; if (settings.isSetting(sessionID, SETTING_JDBC_STORE_SESSIONS_TABLE_NAME)) { sessionTableName = settings.getString(sessionID, SETTING_JDBC_STORE_SESSIONS_TABLE_NAME); } else { sessionTableName = DEFAULT_SESSION_TABLE_NAME; } if (settings.isSetting(sessionID, SETTING_JDBC_STORE_MESSAGES_TABLE_NAME)) { messageTableName = settings.getString(sessionID, SETTING_JDBC_STORE_MESSAGES_TABLE_NAME); } else { messageTableName = DEFAULT_MESSAGE_TABLE_NAME; } if (settings.isSetting(sessionID, SETTING_JDBC_SESSION_ID_DEFAULT_PROPERTY_VALUE)) { defaultSessionIdPropertyValue = settings.getString(sessionID, SETTING_JDBC_SESSION_ID_DEFAULT_PROPERTY_VALUE); } else { defaultSessionIdPropertyValue = SessionID.NOT_SET; } dataSource = ds == null ? JdbcUtil.getDataSource(settings, sessionID) : ds; // One table is sampled for the extended session ID columns. Be sure // that all tables are extended if you extend any of them. extendedSessionIdSupported = JdbcUtil.determineSessionIdSupport(dataSource, sessionTableName); setSqlStrings(); loadCache(); }