properties.putAll(System.getProperties());
ResettableBasicDataSource dataSource = new ResettableBasicDataSource();
dataSource.setDriverClassName(properties.get(
BasicDataSourcePropertyConstants.DB_POOL_DRIVER, null));
try {
dataSource.setUrl(properties.get(BasicDataSourcePropertyConstants.DB_POOL_URL, null));
String user = properties.get(BasicDataSourcePropertyConstants.DB_POOL_USER, "");
if (user != null && user.startsWith(SecurityConstants.PREFIX_ENC)) {
user = securityService.decrypt(user.substring(SecurityConstants.PREFIX_ENC.length()));
String password = properties.get(BasicDataSourcePropertyConstants.DB_POOL_PASSWORD, "");
if (password != null && password.startsWith(SecurityConstants.PREFIX_ENC)) {
password = securityService.decrypt(password.substring(SecurityConstants.PREFIX_ENC
dataSource.setTimeBetweenEvictionRunsMillis(120000);
dataSource.setNumTestsPerEvictionRun(10);
dataSource.setValidationQuery(properties.get(
BasicDataSourcePropertyConstants.DB_POOL_VALIDATION_QUERY, null));
dataSource.setTestOnBorrow(properties.is(
String connectionProperties = properties.get(
BasicDataSourcePropertyConstants.DB_POOL_CONNECTION_PROPERTIES, null);
if (StringUtils.isNotBlank(connectionProperties)) {
String initSql = properties.get(BasicDataSourcePropertyConstants.DB_POOL_INIT_SQL, null);
if (StringUtils.isNotBlank(initSql)) {
List<String> initSqlList = new ArrayList<String>(1);