本文整理汇总了Java中com.alibaba.druid.pool.DruidDataSource.setTestOnBorrow方法的典型用法代码示例。如果您正苦于以下问题:Java DruidDataSource.setTestOnBorrow方法的具体用法?Java DruidDataSource.setTestOnBorrow怎么用?Java DruidDataSource.setTestOnBorrow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.alibaba.druid.pool.DruidDataSource
的用法示例。
在下文中一共展示了DruidDataSource.setTestOnBorrow方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: mafSlaveDataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(name = ConfigConstant.NAME_DS_SLAVE)
@ConfigurationProperties(prefix = ConfigConstant.PREFIX_DS_SLAVE)
public DataSource mafSlaveDataSource() {
logger.info("----- MAFIA slave data source INIT -----");
DruidDataSource ds = new DruidDataSource();
try {
ds.setFilters(env.getProperty("ds.filters"));
} catch (SQLException e) {
logger.warn("Data source set filters ERROR:", e);
}
ds.setMaxActive(NumberUtils.toInt(env.getProperty("ds.maxActive"), 90));
ds.setInitialSize(NumberUtils.toInt(env.getProperty("ds.initialSize"), 10));
ds.setMaxWait(NumberUtils.toInt(env.getProperty("ds.maxWait"), 60000));
ds.setMinIdle(NumberUtils.toInt(env.getProperty("ds.minIdle"), 1));
ds.setTimeBetweenEvictionRunsMillis(NumberUtils.toInt(env.getProperty("ds.timeBetweenEvictionRunsMillis"), 60000));
ds.setMinEvictableIdleTimeMillis(NumberUtils.toInt(env.getProperty("ds.minEvictableIdleTimeMillis"), 300000));
ds.setValidationQuery(env.getProperty("ds.validationQuery"));
ds.setTestWhileIdle(BooleanUtils.toBoolean(env.getProperty("ds.testWhileIdle")));
ds.setTestOnBorrow(BooleanUtils.toBoolean(env.getProperty("ds.testOnBorrow")));
ds.setTestOnReturn(BooleanUtils.toBoolean(env.getProperty("ds.testOnReturn")));
ds.setPoolPreparedStatements(BooleanUtils.toBoolean(env.getProperty("ds.poolPreparedStatements")));
ds.setMaxOpenPreparedStatements(NumberUtils.toInt(env.getProperty("ds.maxOpenPreparedStatements"), 20));
return ds;
}
示例2: logDataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(initMethod = "init", destroyMethod = "close")
public DruidDataSource logDataSource() throws SQLException, DESException {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(dbConfigProperties.getDriveClass());
druidDataSource.setUrl(dbConfigProperties.getLogUrl());
druidDataSource.setUsername(dbConfigProperties.getLogUsername());
druidDataSource.setPassword(dbConfigProperties.getLogPassword());
druidDataSource.setInitialSize(dbConfigProperties.getInitialSize());
druidDataSource.setMinIdle(dbConfigProperties.getMinIdle());
druidDataSource.setMaxActive(dbConfigProperties.getMaxActive());
druidDataSource.setMaxWait(dbConfigProperties.getMaxWait());
druidDataSource.setTimeBetweenEvictionRunsMillis(dbConfigProperties.getTimeBetweenEvictionRunsMillis());
druidDataSource.setMinEvictableIdleTimeMillis(dbConfigProperties.getMinEvictableIdleTimeMillis());
druidDataSource.setValidationQuery(dbConfigProperties.getValidationQuery());
druidDataSource.setTestWhileIdle(dbConfigProperties.getTestWhileIdle());
druidDataSource.setTestOnBorrow(dbConfigProperties.getTestOnBorrow());
druidDataSource.setTestOnReturn(dbConfigProperties.getTestOnReturn());
druidDataSource.setPoolPreparedStatements(dbConfigProperties.getPoolPreparedStatements());
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(dbConfigProperties.getMaxPoolPreparedStatementPerConnectionSize());
druidDataSource.setFilters(dbConfigProperties.getFilters());
return druidDataSource;
}
示例3: init
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
/**
* 初始化操作
*
* @param modelName 模块名称
* @param txConfig 配置信息
*/
@Override
public void init(String modelName, TccConfig txConfig) {
dataSource = new DruidDataSource();
final TccDbConfig tccDbConfig = txConfig.getTccDbConfig();
dataSource.setUrl(tccDbConfig.getUrl());
dataSource.setDriverClassName(tccDbConfig.getDriverClassName());
dataSource.setUsername(tccDbConfig.getUsername());
dataSource.setPassword(tccDbConfig.getPassword());
dataSource.setInitialSize(tccDbConfig.getInitialSize());
dataSource.setMaxActive(tccDbConfig.getMaxActive());
dataSource.setMinIdle(tccDbConfig.getMinIdle());
dataSource.setMaxWait(tccDbConfig.getMaxWait());
dataSource.setValidationQuery(tccDbConfig.getValidationQuery());
dataSource.setTestOnBorrow(tccDbConfig.getTestOnBorrow());
dataSource.setTestOnReturn(tccDbConfig.getTestOnReturn());
dataSource.setTestWhileIdle(tccDbConfig.getTestWhileIdle());
dataSource.setPoolPreparedStatements(tccDbConfig.getPoolPreparedStatements());
dataSource.setMaxPoolPreparedStatementPerConnectionSize(tccDbConfig.getMaxPoolPreparedStatementPerConnectionSize());
this.tableName = RepositoryPathUtils.buildDbTableName(modelName);
executeUpdate(SqlHelper.buildCreateTableSql(tccDbConfig.getDriverClassName(), tableName));
}
示例4: mafMasterDataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(name = ConfigConstant.NAME_DS_MASTER)
@Primary
@ConfigurationProperties(prefix = ConfigConstant.PREFIX_DS_MASTER)
public DataSource mafMasterDataSource() {
logger.info("----- MAFIA master data source INIT -----");
DruidDataSource ds = new DruidDataSource();
try {
ds.setFilters(env.getProperty("ds.filters"));
} catch (SQLException e) {
logger.warn("Data source set filters ERROR:", e);
}
ds.setMaxActive(NumberUtils.toInt(env.getProperty("ds.maxActive"), 90));
ds.setInitialSize(NumberUtils.toInt(env.getProperty("ds.initialSize"), 10));
ds.setMaxWait(NumberUtils.toInt(env.getProperty("ds.maxWait"), 60000));
ds.setMinIdle(NumberUtils.toInt(env.getProperty("ds.minIdle"), 1));
ds.setTimeBetweenEvictionRunsMillis(NumberUtils.toInt(env.getProperty("ds.timeBetweenEvictionRunsMillis"), 60000));
ds.setMinEvictableIdleTimeMillis(NumberUtils.toInt(env.getProperty("ds.minEvictableIdleTimeMillis"), 300000));
ds.setValidationQuery(env.getProperty("ds.validationQuery"));
ds.setTestWhileIdle(BooleanUtils.toBoolean(env.getProperty("ds.testWhileIdle")));
ds.setTestOnBorrow(BooleanUtils.toBoolean(env.getProperty("ds.testOnBorrow")));
ds.setTestOnReturn(BooleanUtils.toBoolean(env.getProperty("ds.testOnReturn")));
ds.setPoolPreparedStatements(BooleanUtils.toBoolean(env.getProperty("ds.poolPreparedStatements")));
ds.setMaxOpenPreparedStatements(NumberUtils.toInt(env.getProperty("ds.maxOpenPreparedStatements"), 20));
return ds;
}
示例5: createDataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
protected DataSource createDataSource() throws SQLException {
// special
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(commonProperties.getUrl());
datasource.setUsername(commonProperties.getUsername());
datasource.setPassword(commonProperties.getPassword());
// common
datasource.setDriverClassName(commonProperties.getDriverClassName());
datasource.setInitialSize(commonProperties.getInitialSize());
datasource.setMinIdle(commonProperties.getMinIdle());
datasource.setMaxActive(commonProperties.getMaxActive());
datasource.setMaxWait(commonProperties.getMaxWait());
datasource
.setTimeBetweenEvictionRunsMillis(commonProperties.getTimeBetweenEvictionRunsMillis());
datasource.setMinEvictableIdleTimeMillis(commonProperties.getMinEvictableIdleTimeMillis());
datasource.setValidationQuery(commonProperties.getValidationQuery());
datasource.setTestWhileIdle(commonProperties.isTestWhileIdle());
datasource.setTestOnBorrow(commonProperties.isTestOnBorrow());
datasource.setTestOnReturn(commonProperties.isTestOnReturn());
datasource.setPoolPreparedStatements(commonProperties.isPoolPreparedStatements());
datasource.setMaxPoolPreparedStatementPerConnectionSize(
commonProperties.getMaxPoolPreparedStatementPerConnectionSize());
datasource.setFilters(commonProperties.getFilters());
datasource.setConnectionProperties(commonProperties.getConnectionProperties());
return datasource;
}
示例6: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(initMethod = "init", destroyMethod = "close")
public DruidDataSource dataSource(DruidConfig druidConfig) throws IOException {
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
ds.setUrl(druidConfig.getUrl() + "?" + druidConfig.getOptions());
ds.setUsername(druidConfig.getUser());
ds.setPassword(druidConfig.getPwd());
ds.setInitialSize(druidConfig.getInitialSize());
ds.setMinIdle(druidConfig.getMinIdle());
ds.setMaxActive(druidConfig.getMaxActive());
ds.setMaxWait(druidConfig.getMaxWait());
ds.setTimeBetweenEvictionRunsMillis(druidConfig.getTimeBetweenEvictionRunsMillis());
ds.setMinEvictableIdleTimeMillis(druidConfig.getMinEvictableIdleTimeMillis());
ds.setValidationQuery(druidConfig.getValidationQuery());
ds.setTestWhileIdle(druidConfig.getTestWhileIdle());
ds.setTestOnBorrow(druidConfig.getTestOnBorrow());
ds.setTestOnReturn(druidConfig.getTestOnReturn());
return ds;
}
示例7: init
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
/**
* 初始化操作
*
* @param modelName 模块名称
* @param mythConfig 配置信息
*/
@Override
public void init(String modelName, MythConfig mythConfig) {
dataSource = new DruidDataSource();
final MythDbConfig tccDbConfig = mythConfig.getMythDbConfig();
dataSource.setUrl(tccDbConfig.getUrl());
dataSource.setDriverClassName(tccDbConfig.getDriverClassName());
dataSource.setUsername(tccDbConfig.getUsername());
dataSource.setPassword(tccDbConfig.getPassword());
dataSource.setInitialSize(tccDbConfig.getInitialSize());
dataSource.setMaxActive(tccDbConfig.getMaxActive());
dataSource.setMinIdle(tccDbConfig.getMinIdle());
dataSource.setMaxWait(tccDbConfig.getMaxWait());
dataSource.setValidationQuery(tccDbConfig.getValidationQuery());
dataSource.setTestOnBorrow(tccDbConfig.getTestOnBorrow());
dataSource.setTestOnReturn(tccDbConfig.getTestOnReturn());
dataSource.setTestWhileIdle(tccDbConfig.getTestWhileIdle());
dataSource.setPoolPreparedStatements(tccDbConfig.getPoolPreparedStatements());
dataSource.setMaxPoolPreparedStatementPerConnectionSize(tccDbConfig.getMaxPoolPreparedStatementPerConnectionSize());
this.tableName = RepositoryPathUtils.buildDbTableName(modelName);
executeUpdate(SqlHelper.buildCreateTableSql(tccDbConfig.getDriverClassName(), tableName));
}
示例8: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(initMethod = "init", destroyMethod = "close")
public DruidDataSource dataSource() throws SQLException {
if (StringUtils.isEmpty(propertyResolver.getProperty("url"))) {
System.out.println("Your database connection pool configuration is incorrect!"
+ " Please check your Spring profile, current profiles are:"
+ Arrays.toString(environment.getActiveProfiles()));
throw new ApplicationContextException(
"Database connection pool is not configured correctly");
}
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(propertyResolver.getProperty("driver-class-name"));
druidDataSource.setUrl(propertyResolver.getProperty("url"));
druidDataSource.setUsername(propertyResolver.getProperty("username"));
druidDataSource.setPassword(propertyResolver.getProperty("password"));
druidDataSource.setInitialSize(Integer.parseInt(propertyResolver.getProperty("initialSize")));
druidDataSource.setMinIdle(Integer.parseInt(propertyResolver.getProperty("minIdle")));
druidDataSource.setMaxActive(Integer.parseInt(propertyResolver.getProperty("maxActive")));
druidDataSource.setMaxWait(Integer.parseInt(propertyResolver.getProperty("maxWait")));
druidDataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(propertyResolver.getProperty("timeBetweenEvictionRunsMillis")));
druidDataSource.setMinEvictableIdleTimeMillis(Long.parseLong(propertyResolver.getProperty("minEvictableIdleTimeMillis")));
druidDataSource.setValidationQuery(propertyResolver.getProperty("validationQuery"));
druidDataSource.setTestWhileIdle(Boolean.parseBoolean(propertyResolver.getProperty("testWhileIdle")));
druidDataSource.setTestOnBorrow(Boolean.parseBoolean(propertyResolver.getProperty("testOnBorrow")));
druidDataSource.setTestOnReturn(Boolean.parseBoolean(propertyResolver.getProperty("testOnReturn")));
druidDataSource.setPoolPreparedStatements(Boolean.parseBoolean(propertyResolver.getProperty("poolPreparedStatements")));
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(Integer.parseInt(propertyResolver.getProperty("maxPoolPreparedStatementPerConnectionSize")));
druidDataSource.setFilters(propertyResolver.getProperty("filters"));
return druidDataSource;
}
示例9: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean(initMethod="init",destroyMethod="close")
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setUrl(config.getUrl());
ds.setUsername(config.getUsername());
ds.setPassword(config.getPassword());
ds.setInitialSize(ds.getInitialSize());
ds.setMinIdle(config.getMinIdle());
ds.setMaxActive(config.getMaxActive());
ds.setMaxWait(config.getMaxWait());
ds.setTimeBetweenEvictionRunsMillis(config.getTimeBetweenEvictionRunsMillis()); // 关闭检测间隔 毫秒
ds.setMinEvictableIdleTimeMillis(config.getMinEvictableIdleTimeMillis()); // 一个连接的最小生存时间
ds.setValidationQuery("SELECT 'x'");
ds.setTestWhileIdle(config.isTestWhileIdle());
ds.setTestOnBorrow(config.isTestOnBorrow());
ds.setTestOnReturn(config.isTestOnReturn());
ds.setPoolPreparedStatements(config.isPoolPreparedStatements());
ds.setMaxPoolPreparedStatementPerConnectionSize(config.getMaxPoolPreparedStatementPerConnectionSize());
ds.setRemoveAbandoned(config.isRemoveAbandoned());
ds.setRemoveAbandonedTimeout(config.getRemoveAbandonedTimeout());
ds.setLogAbandoned(config.isLogAbandoned());
ds.setTimeBetweenLogStatsMillis(config.getTimeBetweenLogStatsMillis());
ds.setPhyTimeoutMillis(config.getPhyTimeoutMillis());
ds.setMaxEvictableIdleTimeMillis(config.getMaxEvictableIdleTimeMillis());
ds.setDbType("mysql");
try {
ds.setFilters("stat,slf4j");
} catch (SQLException e) {
e.printStackTrace();
}
return ds ;
}
示例10: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
/**
* database configuration
*/
@Bean(initMethod = "init", destroyMethod = "close")
public DataSource dataSource() {
logger.debug("Configuring Datasource");
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
druidDataSource.setMaxActive(maximumPoolSize);
druidDataSource.setMaxWait(60000);
druidDataSource.setMinIdle(1);
druidDataSource.setValidationQuery("SELECT 1");
druidDataSource.setTestWhileIdle(true);
druidDataSource.setTestOnBorrow(false);
druidDataSource.setTestOnReturn(false);
/**
* configuration exception handling
* */
druidDataSource.setQueryTimeout(15); //sql select max time : 15s
//a connetion must be closed by removeAbandonedTimeout second
druidDataSource.setRemoveAbandoned(true);
druidDataSource.setRemoveAbandonedTimeout(600);
druidDataSource.setLogAbandoned(true);
return druidDataSource;
}
示例11: register
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Override
public boolean register() {
if (IsRegistered) {
return HAS_REGISTERED;
}
DruidDataSource ds = new DruidDataSource();
if (!StrUtil.isBlank(name)) {
ds.setName(this.name);
}
ds.setUrl(jdbcURL);
ds.setDriverClassName(jdbcDriver);
ds.setUsername(jdbcUsername);
ds.setPassword(jdbcPassword);
ds.setMinIdle(minIdle);
ds.setMaxActive(maxActive);
ds.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
ds.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
ds.setValidationQuery(validationQuery);
ds.setTestWhileIdle(testWhileIdle);
ds.setTestOnBorrow(testOnBorrow);
ds.setTestOnReturn(testOnReturn);
setDataSource(ds);
setIsRegistered(HAS_REGISTERED);
return HAS_REGISTERED;
}
示例12: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean
@Primary
public DataSource dataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(url);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
//configuration
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
System.err.println("druid configuration initialization filter: " + e);
}
datasource.setConnectionProperties(connectionProperties);
return datasource;
}
示例13: mysqlDataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
public DataSource mysqlDataSource() throws Exception{
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl(this.url);
druidDataSource.setUsername(this.username);
druidDataSource.setPassword(this.password);
druidDataSource.setDriverClassName(this.driverClassName);
druidDataSource.setInitialSize(this.initialSize);
druidDataSource.setMaxActive(this.maxActive);
druidDataSource.setMinIdle(this.minIdle);
druidDataSource.setMaxWait(this.maxWait);
druidDataSource.setTimeBetweenEvictionRunsMillis(this.timeBetweenEvictionRunsMillis);
druidDataSource.setMinEvictableIdleTimeMillis(this.minEvictableIdleTimeMillis);
druidDataSource.setValidationQuery(this.validationQuery);
druidDataSource.setTestWhileIdle(this.testWhileIdle);
druidDataSource.setTestOnBorrow(this.testOnBorrow);
druidDataSource.setTestOnReturn(this.testOnReturn);
druidDataSource.setPoolPreparedStatements(this.poolPreparedStatements);
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(this.maxPoolPreparedStatementPerConnectionSize);
druidDataSource.setFilters(this.filters);
try {
druidDataSource.setFilters("wall,stat");
druidDataSource.setUseGlobalDataSourceStat(true);
druidDataSource.init();
} catch (Exception e) {
throw new RuntimeException("load datasource error, dbProperties is :", e);
}
return druidDataSource;
}
示例14: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean
@Primary
public DataSource dataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
// configuration
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource
.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
logger.error("druid configuration initialization filter", e);
}
datasource.setConnectionProperties(connectionProperties);
return datasource;
}
示例15: dataSource
import com.alibaba.druid.pool.DruidDataSource; //导入方法依赖的package包/类
@Bean //声明其为Bean实例
@Primary //在同样的DataSource中,首先使用被标注的DataSource
public DataSource dataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(url);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
//configuration
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
logger.error("druid configuration initialization filter: {}",e);
}
datasource.setConnectionProperties(connectionProperties);
return datasource;
}