当前位置: 代码迷 >> Java Web开发 >> java.sql.SQLException: Network error IOException: Address already in use: connect解决方法
  详细解决方案

java.sql.SQLException: Network error IOException: Address already in use: connect解决方法

热度:1261   发布时间:2016-04-17 00:45:26.0
java.sql.SQLException: Network error IOException: Address already in use: connect
我用的是tomcat6.0+apache,系统才运行时很好,运行将近5个小时就出现了下面的问题
java.sql.SQLException: Network error IOException: Address already in use: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:385)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at util.Operate.GetConnectDB(Operate.java:50)
at util.Operate.findAdhouseById(Operate.java:290)
at org.apache.jsp.fy.view_jsp._jspService(view_jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:394)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.BindException: Address already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:304)
at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:255)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:310)
... 25 more


有没有人跟我遇到过一样的问题,麻烦帮忙一下,谢谢了,真的很急

------解决方案--------------------

关下Tomcat,然后重启下
------解决方案--------------------
我估计重新启动也没有用! 可能是有程序占用了数据库连接的端口! 找个工具程序 看下 什么程序占用了 端口! 
 我觉得 多半是代码缺陷! 你看下你的 connect 有没有关闭啊?
------解决方案--------------------
你的程序中,有没有套链接的情况,就是在同一个事务中,获取连接后,并未关闭该连接,同时又启动了一个新的连接,而且你的连接并未绑定线程。这样有可能造成程序错误。或许你还要提供一下你的事务处理机制。
------解决方案--------------------
把你tomcat服务器的端口改了,改成比较大的试试
------解决方案--------------------
在tomcat配置文件server.xml里面把端口改成8080以外的端口,迅雷可能占用80
------解决方案--------------------
  相关解决方案