NutzCN Logo
问答 请大神指教,MVC环境中这样取Connection会不会导致DataSource重复创建?
发布于 2830天前 作者 qq_60db7cd9 1431 次浏览 复制 上一个帖子 下一个帖子
标签:
我自己写了2个方法,一个是取连接池的,一个是取Connection的
public static DataSource getDataSource() {
    return Mvcs.getIoc().get(DruidDataSource.class, "dataSource");
}

public static Connection getConnection() throws SQLException {
    return getDataSource().getConnection();
}

如果很多模块调用getConnection()方法,会不会导致DataSource重复创建,导致数据库连接耗尽?
dao.js:
var ioc = {
config : {
type : "org.nutz.ioc.impl.PropertiesProxy",
// 不声明,默认为 true
singleton : true,
fields : {
paths : ["config.properties"]
}
},
dataSource : {
type : "com.alibaba.druid.pool.DruidDataSource",
// 不声明,默认为 true
singleton : true,
events : {
create : "init",
depose : 'close'
},
fields : {
url : {java:"$config.get('db.url')"},
username : {java:"$config.get('db.username')"},
password : {java:"$config.get('db.password')"},
testWhileIdle : true,
validationQuery : {java:"$config.get('db.validationQuery')"} ,
maxActive : {java:"$config.get('db.maxActive')"}
}
},
dao : {
type : "org.nutz.dao.impl.NutDao",
// 不声明,默认为 true
singleton : true,
args : [{refer:"dataSource"}]
}
};

1 回复

不会
你的dataSource 是 singleton : true
无论调用多少次 Mvcs.getIoc().get(DruidDataSource.class, "dataSource");
都只会获取一个

添加回复
请先登陆
回到顶部