com.mysql.jdbc.CommunicationsException: Communications link failure due to under
lying exception:** BEGIN NESTED EXCEPTION **java.net.SocketException
MESSAGE: Software caused connection abort: socket write errorSTACKTRACE:java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65
)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:1332)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
1467)
        at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:
139)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
        at org.hibernate.loader.Loader.doQuery(Loader.java:662)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
ader.java:224)
        at org.hibernate.loader.Loader.doList(Loader.java:2145)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
        at org.hibernate.loader.Loader.list(Loader.java:2024)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.ja
va:308)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java
:153)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
        at edu.must.assets.service.ImportAssetsService.getDepartmentId(ImportAss
etsService.java:566)
        at edu.must.assets.service.ImportAssetsService.getData(ImportAssetsServi
ce.java:150)
        at edu.must.assets.service.ImportAssetsService.importData(ImportAssetsSe
rvice.java:544)
        at edu.must.assets.servlet.AssetsImportServlet.doGet(AssetsImportServlet
.java:94)
        at edu.must.assets.servlet.AssetsImportServlet.doPost(AssetsImportServle
t.java:127)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
        at edu.must.assets.servlet.AssetsFilter.doFilter(AssetsFilter.java:38)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:689)
        at java.lang.Thread.run(Thread.java:595)
** END NESTED EXCEPTION **
服務器啟動后,當時怎么測都不出錯,但過段時間就不行了,具體多長時間還不清楚

解决方案 »

  1.   

      转载:  希望对你有帮助连接在数据库端是可以被监视的, 
    在web端是池化的连接可能不是很容易被跟踪, 但是也可以看得到整个连接池的状态 
    连接如果长期占据资源不放, 在负载不重的情况下坚持一星期没有问题 不知道是不是可以从内存泄露的方向上看, 
    但是简单地从报错文字上推测, 连接出现问题的可能较大些, 
    而确定这一点只需稍微检查一下代码就知道了 楼主上线之前跑过压力测试么? 压力测试能通过吗? 上线后的负载又是多少呢? 
       嘿嘿, 记得给分啊