创建连接池:
public void getDatasource() {
urlStr = pr.readValue("datasource.url");
username = pr.readValue("datasource.username");
password = pr.readValue("datasource.password");
getDatasource(urlStr,username,password);
}
/******************************************************
* 获得连接池:有连接参数
******************************************************/
public void getDatasource(String urlStr,String user,String password) {
ArrayList urls = new ArrayList();
ConfigOptions nwOpt = new ConfigOptions(); // 定义连接选项
SequoiadbOption dsOpt = new SequoiadbOption(); // 定义连接池选项
urls.add(urlStr);
// urls.add(ip);
// nwOpt.setConnectTimeout(500); // 设置若连接失败,超时时间(ms)
// nwOpt.setMaxAutoConnectRetryTime(0); // 设置若连接失败,重试次数
//// // 以下设置的都是 SequoiadbOption 的默认值
// dsOpt.setMaxConnectionNum(500); // 设置连接池最大连接数
// dsOpt.setInitConnectionNum(50); // 初始化连接池时,创建连接的数量
// dsOpt.setDeltaIncCount(10); // 当池中没有可用连接时,增加连接的数量
// dsOpt.setMaxIdeNum(50); // 周期清理多余的空闲连接时,应保留连接的数量
// dsOpt.setTimeout(5 * 1000); // 当已使用的连接数到达设置的最大连接数时(500),请求连接的等待时间。
// dsOpt.setAbandonTime(10 * 60 * 1000); // 连接存活时间,当连接空闲时间超过连接存活时间,将被连接池丢弃
// dsOpt.setRecheckCyclePeriod(1 * 60 * 1000); // 清除多余空闲连接的周期
// dsOpt.setRecaptureConnPeriod(10 * 60 * 1000); // 检测并取回异常地址的周期
ds = new SequoiadbDatasource(urls, user, password, nwOpt, dsOpt); // 创建连接池
System.out.println();
System.out.println("----------------------------------------------");
System.out.println("IdleConnNum : " + ds.getIdleConnNum());
System.out.println("UsedConnNum : " + ds.getUsedConnNum());
System.out.println("----------------------------------------------");
}
得到sequoiadb 进行数据操作,如何把链接重新放回连接池,ds.close(sequoiadb) 好像没有放入