【问题标题】:c3p0 - maxIdleTime configurationc3p0 - maxIdleTime 配置
【发布时间】:2016-09-20 11:14:30
【问题描述】:

我有一个基本的 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"/>

【问题讨论】:

    标签: java c3p0


    【解决方案1】:

    maxIdleTimeExcessConnections 是关于在池未加载时最小化 c3p0 池持有的连接数。默认情况下,c3p0 池会在负载下增长,但只有在连接测试失败或通过上述参数过期时才会缩小。一些用户希望他们的池在导致使用大池大小的使用高峰后快速释放不必要的连接。您可以通过将maxIdleTimeExcessConnections 设置为比maxIdleTime 短得多的值来实现此目的,如果超出设置的最小大小的连接闲置超过很短的时间,则强制释放它们。

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 2014-05-06
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多