日期:2014-05-20  浏览次数:20657 次

spring中关于Connection的关闭
现在碰到这样一个问题,我有一个类MyClass,继承自 AllInOneDaoSupport ,而这个AllInOneDaoSupport的父类为DaoSupport,在AllInOneDaoSupport里它有两个属性:dataSource 和sqlMapClientTemplate;
并且有this.dataSource = sqlMapClientTemplate.getDataSource();来给datasource赋值。

问题来了:
在MyClass里我要得到一个Connection conn,于是我就这样得到:
//AllInOneDaoSupport的一个方法得到上面所提到的dataSource
Connection conn = this.getDataSource().getConnection();

问题是,我这个Connnection 如何关闭。 conn.close();是关不掉的。 



 

------解决方案--------------------
可以在spring中连接数据源
并为其设置事务,事务将自动关闭.
------解决方案--------------------
我这里有个例子,希望对你有帮助。这是个spring管理hibernate的session的例子,通过过滤器来自动关闭session,此内容写在web.xml文件中。
<!-- 关闭session的过滤器 -->
<filter>
<filter-name>sessionClose</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>