gpt4 book ai didi

java - 错误 : Communications link failure in MYSQL using JPA and Hibernate

转载 作者:行者123 更新时间:2023-11-30 23:12:05 24 4
gpt4 key购买 nike

我正在开发一个应用程序,其中持久性通过 JPA 和 Hibernate 4.2.3 完成。一切都在第一时间正常工作。

但是,当您花费一定时间(在我的例子中是一天)时,应用程序会出现以下错误。

ERROR: Communications link failure

The last packet successfully received from the server was 259.217.434 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.

Abaixo deixo meu persistence.xml...

<persistence-unit name="amh_sys" transaction-type="RESOURCE_LOCAL">

<provider>org.hibernate.ejb.HibernatePersistence</provider>

<properties>

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />

<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/amh_sys" />

<property name="javax.persistence.jdbc.user" value="root"/>

<property name="javax.persistence.jdbc.password" value="root"/>

<property name="hibernate.show_sql" value="false" />

<property name="hibernate.format_sql" value="false" />

<property name="hibernate.use_sql_comments" value="false" />

<property name="hibernate.jdbc.wrap_result_sets" value="false" />

<property name="hibernate.hibernate.cache.use_query_cache" value="true" />

<property name="hibernate.c3p0.validate" value="true" />

</properties>

</persistence-unit>

我尝试使用 C3P0 连接池进行配置,但是出现了同样的错误...低于 C3P0 的配置。

<!-- Important -->

<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />

<property name="hibernate.c3p0.max_size" value="100" />

<property name="hibernate.c3p0.min_size" value="0" />

<property name="hibernate.c3p0.acquire_increment" value="1" />

<property name="hibernate.c3p0.idle_test_period" value="300" />

<property name="hibernate.c3p0.max_statements" value="0" />

<property name="hibernate.c3p0.timeout" value="100" />

我可以通过更改计算机上的日期来强制错误,因为 MySQL 获取与引用相同的日期。我无法解决这个问题,我希望这里有人在尝试分享您的解决方案时遇到同样的问题。

费利佩。

最佳答案

如果 MySQL 服务器闲置时间过长,连接将超时。 http://dev.mysql.com/doc/refman/5.0/en/gone-away.html您可以在超时内使用计划查询来保持连接处于 Activity 状态,或者通过关闭并重新创建 EntityManager 来重新建立连接

关于java - 错误 : Communications link failure in MYSQL using JPA and Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19412037/

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