注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

tomcat下配置数据库连接池DBCP、C3P0、Proxool  

2012-09-24 10:53:03|  分类: Tomcat |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、将连接池的jar文件拷贝到tomcat的lib目录下

(1)dbcp:

tomcat默认包含tomcat-dbcp.jar,如果使用tomcat自带的dbcp则不用拷贝jar文件。

如果要使用commons-dbcp连接池,则要将commons-dbcp-xxx.jar和commons-pool.jar拷贝到tomcat的lib目录下。

(2)c3p0:

拷贝c3p0-xx.jar到tomcat的lib目录下

(3)proxool:

拷贝proxool-xx.jar、proxool-cglib.jar、commons-logging-xxx.jar到tomcat的lib目录下

2、打开tomcat的context.xml,进行如下配置:

<!--dbcp-->
 <Resource
    name="jdbc/mysqlds-dbcp"
    auth="Container"
    type= "javax.sql.DataSource"
 factory="org.apache.commons.dbcp.BasicDataSourceFactory"<!--这里使用的commons-dbcp连接池-->

<!--tomcat的dbcp对应的factory为:将commons替换为tomcat,也可不用配置-->
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/test"
    username="root"
    password=""
    maxActive="100"
    maxIdle="30"
    maxWait="10000" > 
 </Resource> 
  <!--c3p0-->
 <Resource auth="Container"
     description="DB Connection"
     driverClass="com.mysql.jdbc.Driver"
     maxPoolSize="100"
     minPoolSize="2"
     acquireIncrement="2"
     name="jdbc/mysqlds-c3p0"
     user="root"
     password=""
     factory="org.apache.naming.factory.BeanFactory"
     type="com.mchange.v2.c3p0.ComboPooledDataSource"
     jdbcUrl="jdbc:mysql://localhost:3306/test" />

<!--proxool-->

<Resource name="jdbc/mysqlds-proxool" 
     auth="Container"      
     type="javax.sql.DataSource" 
     factory="org.logicalcobwebs.proxool.ProxoolDataSource"      
     proxool.alias="test"      
     user="root"    
     password=""      
     delegateProperties="foo=1,bar=true" 
     proxool.jndi-name="mysqljndi"     
     proxool.driver-url="jdbc:mysql://127.0.0.1:3306/test"      
     proxool.driver-class="com.mysql.jdbc.Driver"    
     proxool.house-keeping-sleep-time="900000"    
     proxool.maximum-active-time="5" 
     proxool.prototype-count="3" 
     proxool.statistics="1m,15m,1d" 
     proxool.simultaneous-build-throttle="10" 
     proxool.minimum-connection-count="5" 
     proxool.maximum-connection-count="15"   
  />  

3、在web.xml中配置如下代码:

<resource-ref>  
  <res-ref-name>jdbc/mysqlds-proxool</res-ref-name>  <!--与context.xml下的Resources的name属性一致-->
  <res-type>javax.sql.DataSource</res-type>  
  <res-auth>Container</res-auth>  
</resource-ref>

4、获取连接java代码:

   Context context = new InitialContext();
   ds = (DataSource) context.lookup("java:/comp/env/jdbc/mysqlds-proxool");//与context.xml下的Resources的name属性一致

5、常见问题:

      (1)create a new connection but it fail its test:

       在配置proxool连接池时,可能会包以上错误,可以看看你的context.xml配置,将

 proxool.test-before-use="true"该行去掉即可,即在使用前不要进行测试。

 

【转载】:http://blog.163.com/czy_sysu/blog/static/13069559920100792018859/
  评论这张
 
阅读(258)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016