This commit is contained in:
Looly
2023-12-18 03:34:36 +08:00
parent 7ad4f5f850
commit 4b83504e50
2 changed files with 42 additions and 67 deletions

View File

@@ -24,7 +24,7 @@ public class PooledDbConfig extends DbConfig {
private int initialSize; //初始连接数 private int initialSize; //初始连接数
private int minIdle; //最小闲置连接数 private int minIdle; //最小闲置连接数
private int maxActive; //最大活跃连接数 private int maxActive; //最大活跃连接数
private long maxWait; //获取连接的超时等待 private long maxWait; //连接的超时等待
/** /**
* 构造 * 构造
@@ -43,34 +43,74 @@ public class PooledDbConfig extends DbConfig {
super(url, user, pass); super(url, user, pass);
} }
/**
* 获取初始大小
*
* @return 初始大小
*/
public int getInitialSize() { public int getInitialSize() {
return initialSize; return initialSize;
} }
/**
* 设置初始大小
*
* @param initialSize 初始大小
*/
public void setInitialSize(final int initialSize) { public void setInitialSize(final int initialSize) {
this.initialSize = initialSize; this.initialSize = initialSize;
} }
/**
* 获取最小闲置连接数
*
* @return 最小闲置连接数
*/
public int getMinIdle() { public int getMinIdle() {
return minIdle; return minIdle;
} }
/**
* 设置最小闲置连接数
*
* @param minIdle 最小闲置连接数
*/
public void setMinIdle(final int minIdle) { public void setMinIdle(final int minIdle) {
this.minIdle = minIdle; this.minIdle = minIdle;
} }
/**
* 获取最大活跃连接数
*
* @return 最大活跃连接数
*/
public int getMaxActive() { public int getMaxActive() {
return maxActive; return maxActive;
} }
/**
* 设置最大活跃连接数
*
* @param maxActive 最大活跃连接数
*/
public void setMaxActive(final int maxActive) { public void setMaxActive(final int maxActive) {
this.maxActive = maxActive; this.maxActive = maxActive;
} }
/**
* 获取连接的超时等待
*
* @return 连接的超时等待
*/
public long getMaxWait() { public long getMaxWait() {
return maxWait; return maxWait;
} }
/**
* 设置连接的超时等待
*
* @param maxWait 连接的超时等待
*/
public void setMaxWait(final long maxWait) { public void setMaxWait(final long maxWait) {
this.maxWait = maxWait; this.maxWait = maxWait;
} }

View File

@@ -13,11 +13,6 @@
package org.dromara.hutool.db.ds.simple; package org.dromara.hutool.db.ds.simple;
import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.db.DbRuntimeException;
import org.dromara.hutool.db.driver.DriverUtil;
import org.dromara.hutool.db.ds.DSKeys;
import org.dromara.hutool.setting.Setting;
import org.dromara.hutool.setting.props.Props; import org.dromara.hutool.setting.props.Props;
import java.sql.Connection; import java.sql.Connection;
@@ -38,65 +33,6 @@ public class SimpleDataSource extends AbstractDataSource {
private final DbConfig config; private final DbConfig config;
// -------------------------------------------------------------------- Constructor start
/**
* 构造
*/
public SimpleDataSource() {
this(StrUtil.EMPTY);
}
/**
* 构造
*
* @param group 数据库配置文件中的分组
*/
public SimpleDataSource(final String group) {
this(null, group);
}
/**
* 构造
*
* @param setting 数据库配置
* @param group 数据库配置文件中的分组
*/
public SimpleDataSource(Setting setting, final String group) {
if (null == setting) {
setting = new Setting(DEFAULT_DB_CONFIG_PATH);
}
final Setting dbSetting = setting.getSetting(group);
if (MapUtil.isEmpty(dbSetting)) {
throw new DbRuntimeException("No DataSource config for group: [{}]", group);
}
final DbConfig dbConfig = new DbConfig();
// 基本信息
final String url = dbSetting.getAndRemove(DSKeys.KEY_ALIAS_URL);
if (StrUtil.isBlank(url)) {
throw new DbRuntimeException("No JDBC URL for group: [{}]", group);
}
dbConfig.setUrl(url);
// 自动识别Driver
final String driver = dbSetting.getAndRemove(DSKeys.KEY_ALIAS_DRIVER);
dbConfig.setDriver(StrUtil.isNotBlank(driver) ? driver : DriverUtil.identifyDriver(url));
dbConfig.setUser(dbSetting.getAndRemove(DSKeys.KEY_ALIAS_USER));
dbConfig.setPass(dbSetting.getAndRemove(DSKeys.KEY_ALIAS_PASSWORD));
// remarks等特殊配置since 5.3.8
String connValue;
for (final String key : DSKeys.KEY_CONN_PROPS) {
connValue = dbSetting.get(key);
if(StrUtil.isNotBlank(connValue)){
dbConfig.addConnProps(key, connValue);
}
}
this.config = dbConfig;
}
/** /**
* 构造 * 构造
* *
@@ -105,7 +41,6 @@ public class SimpleDataSource extends AbstractDataSource {
public SimpleDataSource(final DbConfig config) { public SimpleDataSource(final DbConfig config) {
this.config = config; this.config = config;
} }
// -------------------------------------------------------------------- Constructor end
@Override @Override
public Connection getConnection() throws SQLException { public Connection getConnection() throws SQLException {