c***c 发帖数: 6234 | 1 我们有了大麻烦。以前的code没有close resultset 和 preparestatemen。但call了
conn.close()。
1.是不是用了pooling就不能close connection?
2.查了log 貌似有connection leak。很严重吗?
我们10月12号go love
有没有什么变通办法让多用户不exhausted connections。这样多出1周可以scan 整个
project改所有地方
我们已经改了主要模块,但还有5-60个不重要模块没改。 |
r**i 发帖数: 1222 | 2 应该close statement和resultset,connection是release让pool来close。弄个memory
dump来看看吧。
【在 c***c 的大作中提到】 : 我们有了大麻烦。以前的code没有close resultset 和 preparestatemen。但call了 : conn.close()。 : 1.是不是用了pooling就不能close connection? : 2.查了log 貌似有connection leak。很严重吗? : 我们10月12号go love : 有没有什么变通办法让多用户不exhausted connections。这样多出1周可以scan 整个 : project改所有地方 : 我们已经改了主要模块,但还有5-60个不重要模块没改。
|
t*****s 发帖数: 124 | 3 谨慎怀疑还是有connection没有close掉吧
因为一般driver的实现在close connection时,
会自动close相关连的statement和resultset
当然,手动close相关的statement和resultset是良好的编程习惯
很想知道楼主用的是什么样的driver
memory
整个
【在 r**i 的大作中提到】 : 应该close statement和resultset,connection是release让pool来close。弄个memory : dump来看看吧。
|
w**z 发帖数: 8232 | 4 pool close connection, 通常只把connection 返回pool 里,connection remains
open, that is the whole point of connection pooling.
【在 c***c 的大作中提到】 : 我们有了大麻烦。以前的code没有close resultset 和 preparestatemen。但call了 : conn.close()。 : 1.是不是用了pooling就不能close connection? : 2.查了log 貌似有connection leak。很严重吗? : 我们10月12号go love : 有没有什么变通办法让多用户不exhausted connections。这样多出1周可以scan 整个 : project改所有地方 : 我们已经改了主要模块,但还有5-60个不重要模块没改。
|
g*****g 发帖数: 34805 | 5 用 spring管理transaction scope可以免缺这些麻烦。 |
c***c 发帖数: 6234 | 6 统一谢谢各位了。
是的,用connection pool,如果是conn.close(),就是放回pooling。如果statement
或 resultset 没有close,conn是不会没其request用的。
争取了2 周,彻底fix这个。
难道不能有办法强行关掉所有statement 和resultset在本connection里吗?
以前用c#没这么大问题。
再次感谢回复 |
w**z 发帖数: 8232 | 7 java 7 added this
http://www.oracle.com/technetwork/articles/java/trywithresource
我们自己有helper library, 但程序员自己烂,不用也没辙。
statement
【在 c***c 的大作中提到】 : 统一谢谢各位了。 : 是的,用connection pool,如果是conn.close(),就是放回pooling。如果statement : 或 resultset 没有close,conn是不会没其request用的。 : 争取了2 周,彻底fix这个。 : 难道不能有办法强行关掉所有statement 和resultset在本connection里吗? : 以前用c#没这么大问题。 : 再次感谢回复
|