JavaMVC关闭数据库连接

IT猫 发布于 2012/09/07 13:23
阅读 859
收藏 1

请教大家一个非常小白的问题:java web中怎么写filter来关闭数据库连接呢,现在我都是直接在dao里面关闭了数据库连接。

但是如果数据库连接经常打开关闭的话是非常消耗性能的,怎么才能更好的避免这个问题呢?

加载中
0
指尖的舞者
指尖的舞者

spring aop

 

IT猫
IT猫
回复 @指尖的舞者 : 我现在直接在c3p0连接池中取数据,去完用完我直接就在到中就关闭了,这样会不会影响性能哦?
指尖的舞者
指尖的舞者
看你的意思应该是需要 连接池 之前会错意思了,以为你要关闭连接。 连接池的功能是在你app起来的时候生成一些数据库连接,在用的时候直接从池中取。用完了再自动回收到池中。
0
JackyYong
JackyYong

可以考虑将Connection绑定到当前HttpRequest关联的线程当中, ThreadLocal方式, 很多框架都是这么做的, 不需要修改后台代码, 只需要修改获取连接的地方即可!

关闭的时候从线程关联的容器中取出来, 关掉即可!

 

 

JackyYong
JackyYong
回复 @eisonlee : 你可以看看Spring源码, 或者Axis源码, 都有类似的实现机制
IT猫
IT猫
回复 @JackyYeong : 先让我想想,想不明白了在问你,别先烦哈..
JackyYong
JackyYong
前提是基于连接池
0
SK-J
SK-J

感觉自己写的话用 代理模式+连接池

调用dao的时候用代理调用,代理可以往dao中注入连接对象,dao返回后,回收一下

0
木頭→◎ζε
木頭→◎ζε
去看下jive论坛实现的数据库连接池管理,搜索下就有代,封装后,各个项目可以用!
0
Cavalier
Cavalier
代理模式,控制权转移
返回顶部
顶部