欢迎投稿

今日深度:

10年以后还看到这样的代码

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框架如此成熟,每次数据请求可以直接获取一个容器,底层连接一定会被释放,这是最起码的原则。

www.htsjk.Com true http://www.htsjk.com/shujukunews/377.html NewsArticle 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);...
相关文章
    暂无相关文章
评论暂时关闭