2011-07-28 9 views
1

HibernateのプールおよびMysqlと競合していますか? 私はMySQLでWebアプリケーションを持っていると私は、接続時に、私は例外を持っているアプリケーションの使用時間後connexion.butの管理のために休止状態を使用します。HibernateのプールとMysqlとの競合?

org.hibernate.exception.GenericJDBCException: Cannot open connection 
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) 
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) 
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) 
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) 
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426) 
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) 
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119) 
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) 
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) 
at big.commun.data.BigObjet.getSession(BigObjet.java:1808) 
at big.commun.auth.BigAuth.getSession(BigAuth.java:69) 
at big.commun.auth.BigAuth.SelectUser(BigAuth.java:159) 
at big.commun.auth.BigAuthAction.processRequest(BigAuthAction.java:46) 
at auth.AuthAction.processRequest(AuthAction.java:22) 
at big.commun.data.BigActionServer.doPost(BigActionServer.java:251) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
at java.lang.Thread.run(Thread.java:619) 
Caused by: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException 
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106) 
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65) 
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62) 
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531) 
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128) 
at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:56) 
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423) 
... 24 more 
Caused by: java.lang.InterruptedException 
at java.lang.Object.wait(Native Method) 
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315) 
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557) 
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477) 
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525) 
... 27 more</code> 

このエラーの理由何ができますか?

これは私のHibernate設定ファイルである:

<?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"> 

<!-- Generated by MyEclipse Hibernate Tools.     --> 
<hibernate-configuration> 
    <session-factory> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="show_sql">true</property> 
     <property name="max_fetch_depth">3</property> 
     <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> 
     <property name="c3p0.acquire_increment">2</property> 
     <property name="c3p0.idle_test_period">3000</property> 
     <property name="c3p0.timeout">1800</property> 
     <property name="c3p0.max_size">25</property> 
     <property name="c3p0.min_size" >3</property> 
     <property name="c3p0.max_statement">0</property> 
     <property name="c3p0.preferredTestQuery">select 1;</property> 
     <property name="c3p0.validate">true</property> 
     <property name="myeclipse.connection.profile">MysqlS2</property> 
    <session-factory> 
<hibernate-configuration></code> 

Edit¹:さらに私はこれを追加する問題を識別するために

:それは、ネット上のデプロイされたアプリケーションから遮断されている場合は、私がアクセスした場合私のコンピュータ上に配備されたアプリケーションを使用して同じデータベースを使用しても、接続に問題はありません。だから、私は接続ツールのデータベース(SQLマネージャー)を開いても、私は問題をクエリを実行する必要はありません。だから問題のない取引ではない。

Edit²:だから原因がある

org.hibernate.exception.GenericJDBCException: Cannot open connection 
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) 
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) 
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426) 
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) 
    at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119) 
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) 
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) 
    at big.commun.data.BigObjet.getSession(BigObjet.java:1826) 
    at big.commun.auth.BigAuth.getSession(BigAuth.java:68) 
    at big.commun.auth.BigAuth.SelectUserPermission(BigAuth.java:142) 
    at big.commun.auth.BigAuthAction.processRequest(BigAuthAction.java:58) 
    at auth.AuthAction.processRequest(AuthAction.java:22) 
    at big.commun.data.BigActionServer.doPost(BigActionServer.java:251) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:619) 
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database! 
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529) 
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128) 
    at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:56) 
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423) 
    ... 24 more 
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 
    at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319) 
    at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557) 
    at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525) 

Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 

この場合には与えられたどのような説明

私もより詳細なより得ましたか。

答えて

1

アプリケーションマシンから接続パラメータをテストしましたか?同じホスト、ポート、ユーザ/パスワード、およびデータベース名を持つコマンドラインmysqlクライアントを使用してください。資格情報が正しく設定されていない可能性があります。

関連する問題