2013-05-22 2 views
0

많은 최대 절전 모드 연결을 만들 수 있지만 내가 쇼 PROCESSLIST을 실행할 때이 같은 30 개 이상의 연결을 보여펜타 내가 maxactive = 20을 설정

mysql5.hibernate.cfg : 이것은 내 설정입니다

109051 | root | localhost:33203  | hibernate | Sleep | 4 |  | N 

을 .XML

<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property><property name="hibernate.generate_statistics">true</property> 
<property name="hibernate.cache.use_query_cache">true</property> 
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> 
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> 
<property name="connection.username">user</property> 
<property name="connection.password">password</property> 
<property name="connection.pool_size">10</property> 
<property name="show_sql">false</property> 
<property name="hibernate.jdbc.use_streams_for_binary">true</property> 
<property name="hibernate.hbm2ddl.auto">update</property> 
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><property name="hibernate.c3p0.acquire_increment">1</property> 
<property name="hibernate.c3p0.idle_test_period">10</property> 
<property name="hibernate.c3p0.min_size">5</property> 
<property name="hibernate.c3p0.max_size">75</property> 
<property name="hibernate.c3p0.max_statements">0</property> 
<property name="hibernate.c3p0.timeout">300</property> 
<property name="hibernate.c3p0.preferredTestQuery">select 1</property> 
<property name="hibernate.c3p0.testConnectionOnCheckout">true</property> 

의 context.xml

<Context path="/pentaho" docbase="webapps/pentaho/"> 
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="user" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate" validationQuery="select 1"/> 
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="user" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz" validationQuery="select 1"/> 
</Context> 

어떻게이 문제를 해결할 수 있습니까? 가장 시선

+0

당신이 앱이 실행의 여러 인스턴스가없는 확신 :

<property name="hibernate.c3p0.max_size">75</property> 

너무로 변경? – Stephan

+0

어쩌면 오픈 소스 인 BI 제품군을 사용하고 있기 때문에 소스 코드를 변경하지 않고 config 만 사용하면 다른 응용 프로그램이 실행되지 않는지 확인할 수 있습니다. –

답변

1

hibernate.c3p0.max_size 이것은 풀의 최대 연결 수입니다. 이 숫자가 으로 고갈되면 런타임시 예외가 발생합니다.

그리고 당신은 :

<property name="hibernate.c3p0.max_size">20</property> 
관련 문제