您的位置:首页 > 数据库 > Oracle

spring对oracle.jdbc.pool.OracleDataSource连接不关闭的探讨

2007-12-25 18:06 417 查看
近日,为了提高程序执行效率,使用存储过程将批量记录写入数据库。
在代码实现中,遇到几个问题:
1 将多条记录数据,封装成Oracle所需的ARRAY类型时,用到Connection。我所使用的数据连接,是由Spring配置org.apache.commons.dbcp.BasicDataSource生成连接的。从这一数据源中,从JdbcDaoSupport得到连接使用时,报对象造型错误。经跟踪,发现JdbcDaoSupport中得到的Connection,并不是Oracle数据库的连接类型。至此改用oracle.jdbc.pool.OracleDataSource提供数据源。
2 改用oracle.jdbc.pool.OracleDataSource后,存储过程调用正常。但在随后的压力测试中,发现频繁获取连接时,间断出现得不到连接的报错信息。经查找,问题出在Spring对oracle.jdbc.pool.OracleDataSource数据源的维护上,Spring使用完这个数据源提供的数据连接后并不进行关闭操作,改用org.apache.commons.dbcp.BasicDataSource没有这个问题。
所以,oracle.jdbc.pool.OracleDataSource配置的数据连接源,需要显示的关闭连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: