Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障?_Java_Mysql_Hibernate_Spring Mvc_C3p0 - Fatal编程技术网

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

Java com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障?,java,mysql,hibernate,spring-mvc,c3p0,Java,Mysql,Hibernate,Spring Mvc,C3p0,我正在使用hibernate.cfg运行Spring MVC应用程序,如下所示: <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</proper

我正在使用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>

有人能帮忙吗?

我通过将MySQL服务器上的等待超时和交互超时的值增加到3600秒1小时来解决这个问题,之前这两个值都设置为60秒

在我的例子中,当我试图从同一台主机连接到运行在Ubuntu主机VM上的容器中的mysql服务器时,遇到了这个错误

例如: 如果我的虚拟机名称是abc.company.com,则以下jdbc URL将不起作用:

jdbc:mysql://abc.company.com:3306/dbname

上面的jdbc url可以在其他机器(如xyz.company.com)上正常工作,但不能在abc.company.com上工作

其中,以下jdbc URL在abc.company.com机器上可以正常工作:

jdbc:mysql://localhost:3306/dbname

这使我检查了/etc/hosts文件

将以下行添加到/etc/hosts修复了此问题:

127.0.1.1 abc.company.com abc

这似乎是一个操作系统错误,需要我们在一些Ubuntu版本上添加这些。 参考:

在尝试这一点之前,我已经尝试了所有其他解决方案,比如GRANT all..,更改mysql.cnf中的绑定地址行。。在这种情况下,它们都没有帮到我。

请尝试在MySQL连接属性中将自动连接设置为true。
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