各种连接池的比较

来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:35:06
各种连接池的比较
spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect ,告诉连接被重置,这个设置可以解决); hibernate in action推荐使用c3p0和proxool;
dbcp的配置






SELECT 1


true


-------------------------------------
c3p0的配置, 注意是‘‘driverClass‘ , ‘jdbcUrl‘, ‘user‘ , ‘password‘
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">

oracle.jdbc.driver.OracleDriver


jdbc:oracle:thin:@218.202.151.179:58580:ORA9I


oa


XXXX


15


5


25



destroy-method="close">

${db.driverClass}


${db.url}




5
100
100
0
10
${db.user}
${db.pass}






org.hsqldb.jdbcDriver
jdbc:hsqldb:hsql://localhost/gpcswebdb
sa

5
20
1800
50
org.hibernate.dialect.HSQLDialect
false
true
update
0
true
1
true




com/citi/rpc/webentity/BusinessDay.hbm.xml
com/citi/rpc/webentity/Duty.hbm.xml
com/citi/rpc/webentity/Employee.hbm.xml
com/citi/rpc/webentity/TeamMember.hbm.xml
com/citi/rpc/webentity/Project.hbm.xml



---------------------------------------
xapool的配置



com.mysql.jdbc.Driver
jdbc:mysql://localhost/dbname


root
mypass
1
5
select 1

--------------------------------------
c-jdbc的配置

jdbc:cjdbc://127.0.0.1:25322/vdb?user=vuser

weblogic的连接池解决办法:Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前
对其进行测试。 Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC
连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。
tomcat的jndi关于dbcp的配置:

factory
org.apache.commons.dbcp.BasicDataSourceFactory


driverClassName
com.sybase.jdbc2.jdbc.SybDriver


url
xyz


username
xyz


password
xyz


maxActive
5


maxIdle
5


maxWait
-1


removeAbandoned
true


validationQuery
select count(*) from sometable where 1 = 0


testOnBorrow
true

---------------------------------------------------------------------------
很多人都说proxool很好 —— 强烈推荐proxool,因为他不但可以监控后台。还可以有效的释放连接。在connection close时,也就是归还connection,
关闭所有的statement,并且判断是否autocommit,如果不行,就rollback,并且设置true,
可以参考proxool的org.logicalcobwebs.proxool.ConnectionResetter类
connection pool把connection reset置回initial state。
但是在网上搜索spring中配置proxool作为数据源连接池的资料却几乎找不到详细点的。So自己整理如下:
web.xml
-------------------------

proxoolServletConfigurator
org.logicalcobwebs.proxool.configuration.ServletConfigurator

xmlFile
WEB-INF/proxool.xml

1


proxooladmin
org.logicalcobwebs.proxool.admin.servlet.AdminServlet


proxooladmin
/proxooladmin

-------------------------
proxool.xml
-------------------------



blogdb
jdbc:oracle:thin:@127.0.0.1:1521:ORADB
oracle.jdbc.driver.OracleDriver




10
select 1 from dual


-------------------------
spring里的两种配置:
one: 


org.logicalcobwebs.proxool.ProxoolDriver


proxool.blogdb


two:


oracle.jdbc.driver.OracleDriver


jdbc:oracle:thin:lizongbo/password@127.0.0.1:1521:ORADB



lizongbo


lizongbo


lizongbo


90000


5


100


10


true


true