由于需要访问mysql数据库,线上环境一直运行好好的,然后就突然报以下异常:
use | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure use | use | Last packet sent to the server was 0 ms ago. use | at sun.reflect.GeneratedConstructorAccessor404.newInstance(Unknown Source) use | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) use | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) use | at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) use | at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) use | at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2103) use | at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718) use | at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46) use | at sun.reflect.GeneratedConstructorAccessor41.newInstance(Unknown Source) use | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) use | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) use | at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) use | at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302) use | at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) use | at java.sql.DriverManager.getConnection(DriverManager.java:664) use | at java.sql.DriverManager.getConnection(DriverManager.java:247) use | at mfg_prc.rest.client.utility.DBUtil.openConnection(DBUtil.java:52) use | at mfg_prc.dao.impl.TovTrackingDAO.findTovTrackingByStatus(TovTrackingDAO.java:173) use | at aoxu.util.ReportOpenTov.reportOpenTov(ReportOpenTov.java:36) use | at sun.reflect.GeneratedMethodAccessor1061.invoke(Unknown Source) use | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) use | at java.lang.reflect.Method.invoke(Method.java:498) use | at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) use | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) use | at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) use | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) use | at java.util.concurrent.FutureTask.run(FutureTask.java:266) use | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) use | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) use | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) use | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) use | at java.lang.Thread.run(Thread.java:748) use | Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Got packets out of order use | at sun.reflect.GeneratedConstructorAccessor405.newInstance(Unknown Source) use | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) use | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) use | at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) use | at com.mysql.jdbc.Util.getInstance(Util.java:381) use | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984) use | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) use | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) use | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) use | at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) use | at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) use | at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536) use | at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465) use | at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383) use | at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777) use | at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3348) use | at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045) use | ... 26 more
先查看一下 数据库的地址, 端口号, 用户名, 密码连接信息对不对, 这些问题都排除后, 更换一下 mysql版本号 5.1.45试一试.