使用Spring管理数据源连接池

来源:互联网 发布:单片机 精确测量电阻 编辑:程序博客网 时间:2024/05/22 01:39

不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的。在以往的应用中,数据源一般是 Web应用服务器提供的。在Spring中,你不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源.

 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。在此重点讲讲C3P0的配置:此后会更新DBCP。

在Hibernate(spring管理)中的配置:   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">   <property name="driverClass"><value>oracle.jdbc.driver.OracleDriver</value></property>   <property name="jdbcUrl"><value>jdbc:oracle:thin:@localhost:1521:Test</value></property>   <property name="user"><value>Kay</value></property>   <property name="password"><value>root</value></property>   <!--连接池中保留的最小连接数。-->   <property name="minPoolSize" value="10" />   <!--连接池中保留的最大连接数。Default: 15 -->   <property name="maxPoolSize" value="100" />   <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->   <property name="maxIdleTime" value="1800" />   <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->   <property name="acquireIncrement" value="3" />   <property name="maxStatements" value="1000" />   <property name="initialPoolSize" value="10" />   <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->   <property name="idleConnectionTestPeriod" value="60" />   <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->   <property name="acquireRetryAttempts" value="30" />   <property name="breakAfterAcquireFailure" value="true" />   <property name="testConnectionOnCheckout" value="false" />   </bean>


原创粉丝点击