C3P0 和 Proxool

C3P0
open-source介绍
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

C3P0在spring中的配置

Xml代码 :
 <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
      <property name="driverClass">
        <value>${jdbc.driverClassName}</value>
      </property>
      <property name="jdbcUrl">
        <value>${jdbc.url}</value>
      </property>
      <property name="user">
       <value>${jdbc.username}</value>
      </property>
      <property name="password">
       <value>${jdbc.password}</value>
      </property>
      <property name="initialPoolSize"><value>10</value></property>
      <property name="minPoolSize"><value>5</value></property>
      <property name="maxPoolSize"><value>30</value></property>
      <property name="acquireIncrement"><value>5</value></property>
      <property name="maxIdleTime"><value>10</value></property>
      <property name="maxStatements"><value>0</value></property>
    </bean>
 基本配置参数:
initialPoolSize:
Number of Connections a pool will try to acquire upon startup. Should be between minPoolSize and maxPoolSize
连接池初始化时获取的链接数,介于minPoolSize和maxPoolSize之间

minPoolSize:
Minimum number of Connections a pool will maintain at any given time.
最小链接数

maxPoolSize:
Maximum number of Connections a pool will maintain at any given time.
最大连接数

acquireIncrement:
Determines how many connections at a time c3p0 will try to acquire when the pool is exhausted.
在当前连接数耗尽的时候,一次获取的新的连接数

maxIdleTime:
Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire.
最大空闲的时间,单位是秒,无用的链接再过时后会被回收
********************************************************************************
Proxool
open-source介绍
这是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。
	<bean id="dataSource"
		class="org.logicalcobwebs.proxool.ProxoolDataSource">
		<property name="driver">
			<value>${driver}</value>
		</property>
		<property name="driverUrl">
			<value>${driverUrl}</value>
		</property>
		<property name="user">
			<value>${user}</value>
		</property>
		<property name="password">
			<value>${password}</value>
		</property>
		<property name="alias">
			<value>spring</value>
		</property>
		<property name="houseKeepingSleepTime">
			<value>90000</value>
		</property>
		<property name="prototypeCount">
			<value>5</value>
		</property>
		<property name="maximumConnectionCount">
			<value>100</value>
		</property>
		<property name="minimumConnectionCount">
			<value>10</value>
		</property>
		<property name="trace">
			<value>true</value>
		</property>
		<property name="verbose">
			<value>true</value>
		</property>
	</bean>
 Proxool还自带了一个专门用于监控连接池的servlet,非常方便,配置如下
web.xml
	<servlet>
		<servlet-name>DbpoolMonitor</servlet-name>
		<servlet-class>
			org.logicalcobwebs.proxool.admin.servlet.AdminServlet
		</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>DbpoolMonitor</servlet-name>
		<url-pattern>/DbpoolMonitor</url-pattern>
	</servlet-mapping>
 

你可能感兴趣的:(spring,bean,Hibernate,servlet,jdbc)