存放数据库物理连接的容器
C3P0PooledConnectionPoolManager.getPool()
-> C3P0PooledConnectionPool
-> ResourcePool(BasicResourcePool) rp
-> HashMap managed
存放数据库物理连接的容器其本质是BasicResourcePool
对象中的managed
属性,类型是HashMap
时机
创建ComboPooledDataSource
对象并没不会初始化initialPoolSize
个数据库连接,初始化池的时机是:
创建C3P0PooledConnectionPool对象,在创建C3P0PooledConnectionPool
对象的过程中初始化initialPoolSize
个数据库连接
时机的两个具体表现:
1. 获取池中数据库连接数量
2. 第一次获取池中的数据库连接(一般发生在Spring事务管理过程中的开启事务阶段)
上述两个过程会判断是否存在C3P0PooledConnectionPool
对象,若不存在,则创建一个新的C3P0PooledConnectionPool
对象,并初始化initialPoolSize
个数据库连接