我有一个基本的c3p0配置,如下所示。我想问的是,当应用程序上没有流量(连接处于空闲状态)时,由于最小和最大连接数相同,当达到每个连接的maxIdleTime时,c3p0是否可以缩小池?
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/>
<property name="jdbcUrl" value="#[jdbc.url]"/>
<property name="user" value="#[jdbc.username]"/>
<property name="password" ref="DbPassword"/>
<property name="minPoolSize" value=25/>
<property name="maxPoolSize" value=25/>
<property name="acquireIncrement" value= 1/>
<property name="idleConnectionTestPeriod" value="100"/>
<property name="maxIdleTime" value="120"/>
<property name="preferredTestQuery" value ="select 1 from dual"/>发布于 2016-05-23 22:49:03
maxIdleTimeExcessConnections是关于在c3p0池没有负载时最小化该池所持有的连接数量。默认情况下,c3p0池会在负载下增长,但只有在连接未通过连接测试或通过上述参数过期时才会缩小。一些用户希望他们的池在使用量激增后快速释放不必要的连接,从而强制使用较大的池大小。您可以通过将maxIdleTimeExcessConnections设置为比maxIdleTime短得多的值来实现这一点,如果超过您设置的最小大小的连接处于空闲时间超过一段时间,则强制释放这些连接。
https://stackoverflow.com/questions/37393267
复制相似问题