我有一个 Java Swing 应用程序,其中包含一个用于管理连接池的 c3p0 库。在其配置中,我设置了属性 c3p0.maxPoolSize=10 但是一旦用户登录到系统,它仍然会创建更多连接。
c3p0.acquireIncrement=1
c3p0.minPoolSize=1
c3p0.maxPoolSize=10
c3p0.maxIdleTime=300
如何控制这种行为?
这是我的 Spring XML 数据库配置
<context:property-placeholder
location="main/resources/properties/database.properties" />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- these are C3P0 properties -->
<property name="acquireIncrement" value="${c3p0.acquireIncrement}" />
<property name="minPoolSize" value="${c3p0.minPoolSize}" />
<property name="maxPoolSize" value="${c3p0.maxPoolSize}" />
<property name="maxIdleTime" value="${c3p0.maxIdleTime}" />
</bean>
bean 生成好了,但是我无法控制这个事件:当用户登录到系统时,c3p0 会自动再打开三个连接。我们想要的是(1)通过 XML 配置文件“告诉”c3p0 我们只需要每个用户的 db 连接和(2)c3p0 请通过将连接数设置为 10 来控制总数据库连接数......
如果我不清楚,请告诉我。