关于MySQL的wait_timeout连接超时问题报错解决方案

Aaron莫言 2015-01-26 06:08:36
我在做数据定时采集的时候,发现一开始数据连接正常,可是,等访问了一段时间以后,就会报出这个异常,搞了好几天都没有解决,真的是很着急,网上很多人都说这是数据库连接超时的问题,可以采用c3p0进行解决,或者进行MySQL配置文件的改变 ,这些方法都试过,可是,还是没有成功!每次总是要自己重启服务器解决,这样子也太次了,所以,想和大家一起研究下,有人帮忙的吗???!!!
贴出报错提示:
** BEGIN NESTED EXCEPTION **

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
MESSAGE: Communications link failure

The last packet successfully received from the server was 3,139,163 milliseconds
ago. The last packet sent successfully to the server was 18,939 milliseconds a
go.

STACKTRACE:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai
lure

The last packet successfully received from the server was 3,139,163 milliseconds
ago. The last packet sent successfully to the server was 18,939 milliseconds a
go.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
074)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3030)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3459)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2086)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
2237)
at com.takesendorder.dao.impl.OtherOrderInfoImpl.findByOrderTrackno(Othe
rOrderInfoImpl.java:51)
at com.takesendorder.action.carriermatch.SinpoCarrierDataFetch.parse(Sin
poCarrierDataFetch.java:30)
at com.takesendorder.action.carriermatch.SinpoCarrierDataFetch.getCarrie
r_Sinpo_parser(SinpoCarrierDataFetch.java:19)
at com.takesendorder.common.CommonDataParser.getSingaporePageService(Com
monDataParser.java:223)
at com.takesendorder.quartz.SgbramParcelAction.execute(SgbramParcelActio
n.java:51)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)

at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryB
ean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:26
0)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJob
Bean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:525)
Caused by: java.net.SocketException: Software caused connection abort: recv fail
ed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.ja
va:113)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNe
cessary(ReadAheadInputStream.java:160)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.ja
va:188)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2472)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2927)
... 20 more


** END NESTED EXCEPTION **


at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1165)
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:42
26)
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:41
92)
at com.takesendorder.dao.impl.OtherOrderInfoImpl.findByOrderTrackno(Othe
rOrderInfoImpl.java:49)
...全文
462 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aaron莫言 2015-01-28
  • 打赏
  • 举报
回复
怎么还没有人看到这个帖子的呢

50,549

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧