本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9694846
建立时间: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>


阅读全文(21308) | 回复(9) | 编辑 | 精华
 


交流
原创空间,  软件技术

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 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144755808 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号