用tomcat服务器,当我没用配连接池时,在程序中使用了con.close()之后,连接是马上关掉还是交给tomcat来管理释放,因为我尝试不用连接池的时候,做一个小小的压力测试,前面几次的测试没事,但到了后来就会报 com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.BindException: Address already in use: connec----------这个异常,应该是连接没有释放,可我在程序里都正确close掉连接的,我就觉得很奇怪,后来换用连池池后,这些问题都解决了,现在就想问下各位,在不用连接池的情况下,即使close后,连接是不是也不马上关掉,交给tomcat来释放的???

解决方案 »

  1.   

    我的理解是如果不用连接池的话,close后就是直接关闭了,不会再交给tomcat了
      

  2.   

    恩,是我理解错了,不过问题还是存在,我在程序里显示的close了connection,我再用netstat查看连接仍然存在,当我不停的getConnection()时,netstat里的连接数就不断的增加,直到占满以后就报异常了,为什么会这样呢??我在程序里是close掉的,而且用isClose()检查也是关闭了的,为什么用netstat还看到那些连接呢,那些连接会在几分钟之后消息,估计是java的垃圾收集器处理掉吧,但是这样的话connection的close()不就是不起效果了??