gpt4 book ai didi

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure?

转载 作者:行者123 更新时间:2023-11-29 23:28:52 26 4
gpt4 key购买 nike

我正在使用 hibernate.cfg 运行 Spring MVC 应用程序,如下所示:

    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="connection.url">jdbc:mysql://10.2.10.123:3306/xxx</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">xxx</property>
<property name="generate_statistics">false</property>
<property name="connection.password">xxx</property>
<property name="c3p0.testConnectionOnCheckout">true</property>
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.idle_test_period">100</property> <!-- seconds -->
<property name="c3p0.max_size">50</property>
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">10</property>
<property name="c3p0.timeout">7200</property>
<property name="current_session_context_class">thread</property>
<property name="c3p0.numHelperThreads">5</property>
<property name="show_sql">false</property>

当我在本地环境中运行应用程序时,它运行没有任何问题。但在服务器上它给出了异常:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

最后一次从服务器成功接收数据包是在 206,756 毫秒前。最后一次成功发送到服务器的数据包是在 3 毫秒前。

进一步我得到以下日志:

Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3119)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3573)
... 90 more
DEBUG: 11:42:41.858 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644) - trace com.mchange.v2.resourcepool.BasicResourcePool@2b5cccf1 [managed: 7, unused: 6, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@5700187d)
DEBUG: 11:42:41.861 com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires(BasicResourcePool.java:422) - decremented pending_acquires: 0
DEBUG: 11:42:41.858 com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:967) - Successfully destroyed resource: com.mchange.v2.c3p0.impl.NewPooledConnection@61b03322
DEBUG: 11:42:41.861 com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.finerLoggingTestPooledConnection(C3P0PooledConnectionPool.java:323) - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@c2beb14] on CHECKOUT has FAILED.
java.sql.SQLException: Connection is invalid

有人可以帮忙吗?

最佳答案

我通过将MySQL服务器上的wait_timeout和interactive_timeout的值增加到3600秒(1小时)来解决这个问题,这两个值之前都设置为60秒。

关于java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com