10年以后还看到这样的代码
while(rs.next()){
count++;
String ip = rs.getString("ip");
int port = rs.getInt("port");
String type = rs.getString("type");
LOG.debug(count+" get "+type+" proxy : "+ip+":"+port);
try{
checkSocksProxy(ip,port,type);
}catch (Throwable e){
LOG.info("check error, ",e);
}
}
我不是说直接用jdbc不好,有些特别的业务场景仅一个取数据操作,而且是每小时或一天取一下。完全可以直接用jdbc简化操作。
但是这里是在持有结果集没的释放连接的情况下去checkSocksProxy,这个操作要做几小时,而数据库连接就要在整个checkSocksProxy被占用。
如果真的上线,数据库立马被拖死。
以前没有orm工具时我们都会直接先导入到CacheedResultSet中立即释放连接,然后慢慢访问CacheedResultSet,现在orm框架如此成熟,每次数据请求可以直接获取一个容器,底层连接一定会被释放,这是最起码的原则。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。