c3p0(数据库连接池)

获得

<dependency>
		<groupId>com.mchange</groupId>
		<artifactId>c3p0</artifactId>
		<version>0.9.5</version>
</dependency>

配置

<bean id="dataSource" 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="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>

感觉比tomcatDBCP好用。

时间: 2024-11-10 01:26:33

c3p0(数据库连接池)的相关文章

C3p0数据库连接池的使用

1:首先介绍c3p0的一般使用用法,这种用法练习使用,当然工作的时候使用第二种xml配置完成c3p0的使用. c3p0的网址:http://www.mchange.com/projects/c3p0/ 1.1:第一种方式使用c3p0: 使用编码方式实现c3p0数据库连接池,练习学习使用的方式 1.1.1:创建数据库和数据表,省略. 1.1.2:引包,如下所示,因为需要连接数据库,所以必须加上mysql的驱动包 c3p0-0.9.1.2.jar mysql-connector-java-5.1.1

spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理

在系统性能优化的时候,或者说在进行代码开发的时候,多数人应该都知道一个很基本的原则,那就是保证功能正常良好的情况下,要尽量减少对数据库的操作. 据我所知,原因大概有这样两个: 一个是,一般情况下系统服务器和数据库服务器应该是不在同一硬件上,这时候对数据库的连接.操作就和网络有了很大的关系,连接.操作数据库越多就越影响性能. 二是,数据库的数据持久化在硬件磁盘上,对数据库数据的操作就要进行磁盘的io读写操作,同样是操作越多就越容易影响性能. 而数据库连接池的作用是负责分配.管理和释放数据库连接,它

01_数据库连接池,数据源,ResultSetMetaData,jdbc优化

 一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每次请求都要向数据库建立链接而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出.宕机.   解决方案就是数据库连接池 连接池就是数据库连接对象的一个缓冲池 我们可以先创建10

谈谈数据库连接池的原理

谈谈数据库连接池的原理                                                                                                                                                                          帅宏军      这次我们采取技术演进的方式来谈谈数据库连接池的技术出现过程及其原理,以及当下最流行的开源数据库连接池jar包. 一.早期

求助,SSH,C3P0数据库连接一直涨。

问题描述 问题是这样的,前台界面查询数据,查看数据库,每查询一次,数据库连接就增加,感觉根本没从c3p0数据库连接池里面拿,每次操作都创建新的数据库连接,旧的连接也没释放,一直刷新界面,然后就报不能连接数据库的错误.cp3o配置如下:#----------datasource配置#最大的连接池大小datasource.maxPoolSize=50#最小的连接池大小datasource.minPoolSize=3#初始化连接池大小datasource.initialPoolSize=5#最大空闲时

Java数据库连接池比较(c3p0,dbcp,proxool和BoneCP)

Java框架数据库连接池比较(c3p0,dbcp和proxool,BoneC) 现在常用的开源数据连接池主要有c3p0,dbcp,proxool,BoneCP,其中: ¨         hibernate开发组推荐使用c3p0; ¨         spring开发组推荐使用dbcp (dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect ,告诉连接被重置,这个设置可以解决); ¨         hibernate in action推荐使

数据库连接池-c3p0连接池 无需关注statement是否关闭吗

问题描述 c3p0连接池 无需关注statement是否关闭吗 c3p0连接池 ,当connection.close()的时候,把数据连接还回连接池中,那么connection所产生的statement,resultset等对象是怎么关闭的? 解决方案 使用 c3p0 的话,也是 java.sql.Connection,只要是 JDBC 都是这个接口的对象! 使用完后必须 con.close() 掉,使用连接池的话,执行 con.close 并不会关闭与数据库的 TCP 连接,而是将连接还回到池

c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了?

问题描述 c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了? 自己做写了一个管理数据源的DBManager,构想中从数据源里面获取的Connection使用完之后执行close()方法,然后把Connection对象闲置回连接池中. 但是测试出来的结果好像每次执行close()之后connection就销毁了. 代码如下: DBManager.java package ben.DBUtils; import java.sql.Connection; impo

高性能数据库连接池的内幕

大家可能会有这样疑问:连接池类似于线程池或者对象池,就是一个放连接的池子,使用的时候从里面拿一个,用完了再归还,功能非常简单,有什么可讲的. 可能还会有这样的疑问:高性能这么高大上,一个小小的连接池,如何跟高大上靠上边的. 本主题将会全面介绍连接池原理,高性能的设计,优化实践,现有连接池的瓶颈及解决方案.同时也会介绍唯品会自研数据库连接池产品(代号:Caelus) 为什么要有连接池 先看一下连接池所处的位置:              应用框架的业务实现一般都会访问数据库,缓存或者HTTP服务.