diff --git a/data-source/src/main/java/com/networknt/db/GenericDataSource.java b/data-source/src/main/java/com/networknt/db/GenericDataSource.java index 88db40b5e6..8e3baa0665 100644 --- a/data-source/src/main/java/com/networknt/db/GenericDataSource.java +++ b/data-source/src/main/java/com/networknt/db/GenericDataSource.java @@ -34,9 +34,16 @@ * @author Steve Hu */ public class GenericDataSource { - protected static final String DATASOURCE = "datasource"; - private static final String DB_PASSWORD = "password"; - private static final String DS_NAME = "H2DataSource"; + public static final String DATASOURCE = "datasource"; + public static final String DB_PASSWORD = "password"; + public static final String DS_NAME = "H2DataSource"; + public static final String PARAMETERS = "parameters"; + public static final String SETTINGS = "settings"; + public static final String JDBC_URL = "jdbcUrl"; + public static final String USERNAME = "username"; + public static final String MAXIMUM_POOL_SIZE = "maximumPoolSize"; + public static final String CONNECTION_TIMEOUT = "connectionTimeout"; + private static final Logger logger = LoggerFactory.getLogger(GenericDataSource.class); // the HikariDataSource @@ -68,21 +75,21 @@ protected HikariDataSource createDataSource() { dataSourceMap = Config.getInstance().getJsonMapConfig(DATASOURCE); // get the requested datasource Map mainParams = (Map) dataSourceMap.get(getDsName()); - Map configParams = (Map)mainParams.get("parameters"); - Map settings = (Map)mainParams.get("settings"); + Map configParams = (Map)mainParams.get(PARAMETERS); + Map settings = (Map)mainParams.get(SETTINGS); // create the DataSource ds = new HikariDataSource(); - ds.setJdbcUrl((String)mainParams.get("jdbcUrl")); - ds.setUsername((String)mainParams.get("username")); + ds.setJdbcUrl((String)mainParams.get(JDBC_URL)); + ds.setUsername((String)mainParams.get(USERNAME)); // use encrypted password String password = (String)mainParams.get(DB_PASSWORD); ds.setPassword(password); // set datasource paramters - ds.setMaximumPoolSize((Integer)mainParams.get("maximumPoolSize")); - ds.setConnectionTimeout((Integer)mainParams.get("connectionTimeout")); + ds.setMaximumPoolSize(Config.loadIntegerValue(MAXIMUM_POOL_SIZE, mainParams.get(MAXIMUM_POOL_SIZE))); + ds.setConnectionTimeout(Config.loadIntegerValue(CONNECTION_TIMEOUT, mainParams.get(CONNECTION_TIMEOUT))); if (settings != null && settings.size()>0) { for (Map.Entry entry: settings.entrySet()) {