2016-10-31 7 views
0

私はTomcatとHibernateを使ってWebappを開発しています。アップロードした後、私のサーバのログリターンアプリケーションこのメッセージを開始:成功し、サーバから受信したDBCP2接続プーリングを使用するためにHibernateを設定するには?

ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper-最後のパケットは193600ミリ秒前でした。サーバーに正常に送信された最後のパケットは、193,601ミリ秒前です。 'wait_timeout'のサーバー構成値よりも長いです。この問題を回避するには、アプリケーションで使用する前に接続の有効期限を期限切れにしたり、テストしたり、クライアントタイムアウトのサーバー構成値を増やしたり、Connector/J接続プロパティ 'autoReconnect = true'を使用することを検討する必要があります。

この問題に関する多くの同様の質問は、私はそれを解決するためにc3p0またはDBCPのような接続プールを使用する必要があると言いました。私はDBCP2を使用することに決め、インターネットの例からの多くの勧告に従って、Mavenの依存関係としてcommons-dbcp2とcommons-pool2を追加しました。なんらかの理由で、公式DBCP documentationには現時点では例がありません。再起動したときに、私はまだ私のサーバーログにこのメッセージが表示された、他に

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://server.org:3306/database?zeroDateTimeBehavior=convertToNull</property> 
    <property name="hibernate.connection.username">user</property> 
    <property name="hibernate.connection.password">password</property> 
    <property name="hibernate.current_session_context_class">thread</property> 

    <property name="hibernate.show_sql">true</property> 
    <property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> 

    <property name="hibernate.hbm2ddl.auto">update</property> 

    <property name="hibernate.dbcp.initialSize">5</property> 
    <property name="hibernate.dbcp.maxTotal">20</property> 
    <property name="hibernate.dbcp.maxIdle">10</property> 
    <property name="hibernate.dbcp.minIdle">5</property> 
    <property name="hibernate.dbcp.maxWaitMillis">-1</property> 

    <!-- Mapping --> 

    </session-factory> 
</hibernate-configuration> 

はorg.hibernate.engineをWARN

はまた、私hibernate.cfg.xmlの中に以下の行を追加しました.jdbc.connections.internal.DriverManagerConnectionProviderImpl- HHH000402:Hibernateビルトイン接続プールを使用する[実稼働用ではありません]

確かに私は間違ったことをやっている。しかし、DBCPのドキュメントには例はありません。私はそれを修正するために何をしなければならないのか分かりません。

誰かがこの問題で私を助けることができたら本当に感謝します。

答えて

0

どのバージョンのcommons-dbcp2およびcommons-pool2をお使いですか? commons-pool2をpomに指定する必要はありません。commons-dbcp2の一部として含まれています。

あなたはコモンズ-POOL2コモンズ-dbcp2に含まれているの異なるバージョンでコモンズ-POOL2を宣言することで、依存関係の問題を有することができます。

関連する問題