62,634
社区成员




我现在也遇到这个问题,能理解楼主所说的,其他人的回答都在说连接资源的宝贵,所以要释放,但是如果我这个程序并不是要面对用户的,而是一个后台流式计算模块,可以理解为我这个程序会启动固定的10个线程,这10个线程会一直存在处理流式数据,但是中间每条数据我都需要访问数据库,所以我的需求也是要维持10个数据库连接,并且每个线程一直持有自己的一个数据库连接,直到程序关闭。所以总的数据库连接也就10个,不存在浪费的问题。这个楼主是怎么实现的?就是说怎么实现保持连接不关闭,在同一线程中还能复用的方法?
} finally {
try {
if (pstm != null) {
pstm.close();
pstm = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
Log.error("close conn is error", e);
}
}
实际上, 我手动get 50个连接,然后手动管理(包括心跳和超时断开重连) 的话性能应该是大家约定俗成的很多倍.[/quote]
因为这是教科书的写法:获取连接,使用,释放。我们平时使用数据库连接,都不会显式的获取连接,使用,关闭。而是依赖中间件获取连接,管理是否关闭连接,我们只需要关注业务代码部分的使用即可。
最后说一句,你同事这么教科书式的用了,如果没有什么特别的原因,你可以提出优化建议的。当然,人家听不听是另一回事啦!GL! } finally {
try {
if (pstm != null) {
pstm.close();
pstm = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
Log.error("close conn is error", e);
}
}
实际上, 我手动get 50个连接,然后手动管理(包括心跳和超时断开重连) 的话性能应该是大家约定俗成的很多倍.