1

HibernateとMysqlのタイムアウトエラーで問題が発生しています。c3p0(接続プロバイダー)のプロパティも使用しています。私のHibernate/MySQLが8時間後に実行された後(これはMysqlのデフォルトのタイムアウト値です)、例外があります。しかし、それは役に立ちません。

自動再接続のプロパティも機能しません。

これが私のHibernate構成です:

<property name="connection_provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
    **<property name="connection.autoReconnect"> true</property>
    <property name="connection.autoReconnectForPools">true</property>**
    <property name="connection.is-connection-validation-required">true</property>
    <property name="c3p0.validate">true</property>
    <property name="current_session_context_class">thread</property>
    <property name="cache.use_query_cache">false</property>
    <property name="cache.use_second_level_cache">false</property>
    <property name="c3p0.idle_test_period">20</property>
    <property name="c3p0.timeout">40</property>
    <property name="c3p0.max_size">100</property>
    <property name="c3p0.min_size">1</property>
    <property name="c3p0.acquireRetryAttempts">10</property>
    <property name="c3p0.maxPoolSize">100</property>
    <property name="c3p0.maxIdleTime">300</property>
    <property name="c3p0.maxStatements">50</property>
    <property name="c3p0.minPoolSize">10</property>
    <property name="c3p0.preferredTestQuery">select 1;</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/doqeap</property>
    <property name="connection.user">root</property>
    <property name="connection.password">*******</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.jdbc.batch_size">0</property>
    <mapping></mapping>

この問題を解決するのを手伝ってください。ありがとう

4

1 に答える 1

0

接続タイムアウトが問題である場合、接続テストは、チェックアウト時のテスト(信頼性はありますが、クライアントに目に見えるパフォーマンスコストを課します)またはチェック+アイドルテストのテストを介して枯渇することを排除する必要があります。

config paramsを見ると、チェックアウトとアイドルテストにテストを設定するつもりのようです。c3p0は、アプリが例外を認識する前にタイムアウトした例外を排除することを期待しています。それが行われていない場合は、次の2つのことを確認するのが興味深いでしょう。1)プールが初期化されるとINFOでログに記録されるc3p0の構成-c3p0は休止状態のレイヤーを通過し、意図した構成を確認しますか?2)古い接続に遭遇したときにアプリが受け取る例外。

幸運を!

于 2012-06-09T01:26:45.590 に答える