我分批读取数据,3个线程从同一个表中读取记录,每次读取20W条。数据表总共有200W条记录。
运行3-4分钟后就出现这个异常了,SQLException:Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 166 bytes, read 79 bytes before connection was unexpectedly lost.STACKTRACE:java.io.EOFException: Can not read response from server. Expected to read 166 bytes, read 79 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2464)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2369)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:451)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2076)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1451)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1787)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3206)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232)
at com.tt.GoodsIndex.run(GoodsIndex.java:104)
** END NESTED EXCEPTION **Last packet sent to the server was 93984 ms ago.
运行3-4分钟后就出现这个异常了,SQLException:Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 166 bytes, read 79 bytes before connection was unexpectedly lost.STACKTRACE:java.io.EOFException: Can not read response from server. Expected to read 166 bytes, read 79 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2464)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2369)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:451)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2076)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1451)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1787)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3206)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232)
at com.tt.GoodsIndex.run(GoodsIndex.java:104)
** END NESTED EXCEPTION **Last packet sent to the server was 93984 ms ago.
解决方案 »
- 使用axis2 的wsdl2java 生成客户端代码
- jBPM4、jBPM5还是Activiti?(讨论贴,顶者有分)
- struts2 action 访问
- 将数据写入EXCEL的问题
- 在Struts2中使用struts-menu做动态菜单的问题!
- 急 怎样判断两个日期相等
- 请问在spring开发中,如何处理多个配置文件的问题
- 100分,forward问题
- 各位大哥:能否用VC访问部署到weblogic的EJB?
- 使用new String(bt, 0, bt.length)将byte数组转化为字符串时,输出出现乱码
- javascrip怎么判断组合键的key
- Java中double类型的小数位数控制
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 3 bytes before connection was unexpectedly lost.
> at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2332)
> at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:1460)
> ... 17 more
>
>
>