« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9694847 建立时间:2004年12月20日 |

| |
[java语言]spring下的各种连接池的比较 原创空间, 软件技术
邢红瑞 发表于 2005/11/5 16:30:26 |
hibernate开发组推荐c3p0,spring开发组推荐dbcp,但是dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法 reconnect ,告诉连接被重置,这个设置可以解决。hibernate in action推荐c3p0和proxool。
我推荐proxool,因为他不但可以监控后台。还可以有效的释放连接。在connection close时,也就是归还connection,关闭所有的statement,并且判断是否autocommit,如果不行,就rollback,并且设置true,可以参考proxool的org.logicalcobwebs.proxool.ConnectionResetter类connection pool把connection reset置回initial state。dbcp的配置<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${db.driverClassName}"/><property name="url" value="${db.url}"/><property name="username" value="${db.username}"/><property name="password" value="${db.password}"/>
<property name="validationQuery"><value>SELECT 1</value></property><property name="testOnBorrow"><value>true</value></property></bean>
c3p0的配置, 注意是''driverClass' , 'jdbcUrl', 'user' , 'password'
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>net.sourceforge.jtds.jdbc.Driver</value> </property> <property name="jdbcUrl">
<value>jdbc:jtds:sqlserver://localhost:1433/hua</value> </property> <property name="user"> <value>sa</value> </property> <property name="password"> <value>hua</value> </property> <property name="minPoolSize"> <value>15</value> </property> <property name="acquireIncrement"> <value>5</value> </property> <property name="maxPoolSize"> <value>25</value> </property> </bean>
或
<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>${db.driverClass}</value> </property> <property name="jdbcUrl"> <value>${db.url}</value> </property> <!-- <property name="user"> <value>${db.user}</value> </property> <property name="password"> <value>${db.pass}</value> </property> --> <property name="properties"> <props> <prop key="c3p0.acquire_increment">5</prop> <prop key="c3p0.idle_test_period">100</prop> <prop key="c3p0.max_size">100</prop> <prop key="c3p0.max_statements">0</prop> <prop key="c3p0.min_size">10</prop> <prop key="user">${db.user}</prop> <prop key="password">${db.pass}</prop> </props> </property> </bean>xapool的配置 <bean id="dataSource" class="org.enhydra.jdbc.pool.StandardPoolDataSource" destroy-method="stopPool"> <constructor-arg index="0"> <bean class="org.enhydra.jdbc.standard.StandardConnectionPoolDataSource"> <property name="driverName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://localhost/dbname</value></property> </bean> </constructor-arg> <property name="user"><value>root</value></property> <property name="password"><value>mypass</value></property> <property name="minSize"><value>1</value></property> <property name="maxSize"><value>5</value></property> <property name="jdbcTestStmt"><value>select 1</value></property> </bean>c-jdbc的配置<bean id="dataSource" class="org.objectweb.cjdbc.driver.DataSource"> <property name="url"><value>jdbc:cjdbc://127.0.0.1:25322/vdb?user=vuser</value></property> </bean>
weblogic的连接池解决办法:Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前对其进行测试。 Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。
tomcat的jndi关于dbcp的配置:
<parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>com.sybase.jdbc2.jdbc.SybDriver</value> </parameter> <parameter> <name>url</name> <value>xyz</value> </parameter> <parameter> <name>username</name> <value>xyz</value> </parameter> <parameter> <name>password</name> <value>xyz</value> </parameter> <parameter> <name>maxActive</name> <value>5</value> </parameter> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <parameter> <name>maxWait</name> <value>-1</value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>validationQuery</name> <value>select count(*) from sometable where 1 = 0</value> </parameter> <parameter> <name>testOnBorrow</name> <value>true</value> </parameter>
proxool<bean id="proxooldataSource" class="*.proxool.ProxoolDataSource" destroy-method="close"> <property name="alias"><value>newstest</value></property> <property name="driver"><value>net.sourceforge.jtds.jdbc.Driver</value></property> <property name="driverUrl"><value>jdbc:jtds:sqlserver://127.0.0.1:1433/news<value></property> <property name="user"><value>sa</value></property> <property name="password"><value>1</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> |
|
交流 原创空间, 软件技术
zrkkfc(游客)发表评论于2009/3/8 20:09:05 |
好文,收藏了!
document.write("");
ringsignaler
document.write("");
|
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
追风(游客)发表评论于2007/12/11 11:42:20 |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
ycb(游客)发表评论于2007/10/15 17:11:53 |
是一个不错的文章,感谢你,我已完成proxool的配置. |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
cellen(游客)发表评论于2006/9/4 14:38:54 |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
邢红瑞发表评论于2006/4/7 18:32:58 |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
skycncomp(游客)发表评论于2006/4/6 14:16:39 |
没有配置成功spring与proxool的结合,网上都是hibernate与proxool的。
请问能写一个例子吗。 |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
skycncomp(游客)发表评论于2006/4/6 9:27:00 |
我挺喜欢看你的blog的。比较好
不知道是原创还是转载.
不知道都还好,俺喜欢这里。
come on baby |
|
回复:spring下的各种连接池的比较 原创空间, 软件技术
nowind(游客)发表评论于2006/3/17 21:38:41 |
|
» 1 »
|