【问题标题】:mysql jdbc connection failure errormysql jdbc连接失败错误
【发布时间】:2016-05-18 01:50:15
【问题描述】:

我们在aws上部署了基于rest api的应用程序,有时会抛出以下错误:

引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 从服务器成功接收到的最后一个数据包是 66,711,586 毫秒前。最后一个成功发送到服务器的数据包是 66,711,586 毫秒前。比配置的服务器长 'wait_timeout' 的值。您应该考虑到期和/或 在您的应用程序中使用之前测试连接有效性,增加 服务器为客户端超时配置值,或使用 连接器/J 连接属性 'autoReconnect=true' 以避免这种情况 问题。在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) ~[na:1.7.0_85] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_85] 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_85] 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_85] 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3988) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2598) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819) ~[mysql-connector-java-5.1.27.jar:na] 在 com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5346) ~[mysql-connector-java-5.1.27.jar:na] 在 org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371) ~[commons-dbcp-1.4.jar:1.4] 在 org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328) ~[commons-dbcp-1.4.jar:1.4] 在 org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:72) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final] ... 90个常用框架 省略

这个错误是随机抛出的,不是针对任何特定的 api。

这是在database.xml中配置的

<beans:property name="hibernateProperties">
            <beans:props>
                <beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
                </beans:prop>
                <beans:prop key="hibernate.current_session_context_class">thread</beans:prop>
                <beans:prop key="hibernate.show_sql">false</beans:prop>
                <beans:prop key="maxwait">10000</beans:prop>
                <beans:prop key="maxidle">25</beans:prop>
                <beans:prop key="minidle">5</beans:prop>
            </beans:props>
</beans:property>

任何建议将不胜感激。

谢谢, 盖伊特里

【问题讨论】:

    标签: java mysql hibernate


    【解决方案1】:

    这是因为您无法连接到数据库服务器。 wait_timeout 变量表示 MySQL 在终止空闲连接之前将等待的时间量。检查您的网络环境。

    错误日志已经告诉你为什么以及如何解决问题。去试试吧。

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 2019-08-01
      • 2012-03-07
      • 2015-03-31
      • 2012-09-18
      相关资源
      最近更新 更多