1

JPAおよびHibernate 4.2.3を介して永続化が行われるアプリケーションを開発しています。すべてが最初の瞬間に正常に機能しています。

ただし、一定の時間 (私の場合は 1 日) をアプリケーションに費やすと、次のエラーが表示されます。

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 は参照として同じ日付を取得するため、コンピューターの日付を変更することでエラーを強制できます。この問題を解決できません。適用されたソリューションを共有しようとしている人が同じ問題を抱えていることを願っています。

フェリペ。

4

1 に答える 1

0

アイドル状態が長すぎると、MySQL サーバーは接続をタイムアウトにします。http://dev.mysql.com/doc/refman/5.0/en/gone-away.htmlタイムアウト内にスケジュールされたクエリを使用して、接続をアクティブに保つか、閉じて再作成することで接続を再確立できますEntityManager

于 2013-11-06T22:06:22.147 に答える