tomcat5配置C3P0连接池

 

tomcat5一般都用DBCP的连接池,但是DBCP有bug,访问量大以后就经常报错,而且速度变的很慢。

所以改用C3P0连接池,先从http://sourceforge.net/projects/c3p0/下载最新的C3P0连接池,将lib下的两个jar文件,连同数据库的JDBC驱动一起复制到tomcat/common/lib文件夹下。

C3P0的文档中说明配置tomcat5要修改server.xml文件,但是怎么修改都不能正常工作。

后发现在conf/Catalina/localhost文件夹下有一个和程序名一样的xml文件,把以下代码加入到这个文件的<Context></Context>中,
 

< Resource  name ="jdbc/pooledDS"  auth ="Container"  type ="com.mchange.v2.c3p0.ComboPooledDataSource"   />   < ResourceParams  name ="jdbc/pooledDS" >  
< parameter >   < name > factory </ name >   < value > org.apache.naming.factory.BeanFactory </ value >   </ parameter >
< parameter >   < name > driverClass </ name >   < value > org.postgresql.Driver </ value >   </ parameter >  
< parameter >   < name > jdbcUrl </ name >   < value > jdbc:postgresql://localhost/c3p0-test </ value >   </ parameter >  
< parameter >   < name > user </ name >   < value > swaldman </ value >   </ parameter >   < parameter >   < name > password </ name >   < value > test </ value >   </ parameter >  
< parameter >   < name > minPoolSize </ name >   < value > 5 </ value >   </ parameter >  
< parameter >   < name > maxPoolSize </ name >   < value > 15 </ value >   </ parameter >  
< parameter >   < name > acquireIncrement </ name >   < value > 5 </ value >   </ parameter >  
</ ResourceParams >

同样的,要在web.xml中加入

 

< resource - ref >  
< res - ref - name > jdbc / pooledDS </ res - ref - name >  
< res - type > javax.sql.DataSource </ res - type >  
< res - auth > Container </ res - auth >  
</ resource - ref >

程序中的调用和其他连接池是一样的:

 

InitialContext ic  =   new  InitialContext(); 
DataSource ds 
=  (DataSource) ic.lookup( " java:comp/env/jdbc/pooledDS " ); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat中使用C3P0出现错误的原因可能是缺少适当的驱动程序。根据引用\[3\]中的描述,错误信息显示"no suitable driver",这意味着C3P0无法找到适合的数据库驱动程序。为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你已经将适当的数据库驱动程序(例如Oracle驱动程序)添加到Tomcat的类路径中。你可以将驱动程序的JAR文件放置在Tomcat的lib目录下。 2. 检查你的C3P0配置文件(C3P0_JNDI_Config.xml)。确保你已经正确地配置数据库驱动程序的类名(driverClassName)和连接URL(url)。 3. 确保你的C3P0配置文件中的用户名(username)和密码(password)是正确的,并且与你的数据库凭据匹配。 4. 检查你的C3P0配置文件中的其他连接池属性,如最大活动连接数(maxActive)、最大空闲连接数(maxIdle)和最大等待时间(maxWait)。确保这些属性的值适合你的应用程序需求。 如果你仍然遇到问题,你可以查看Tomcat的日志文件以获取更详细的错误信息,以帮助你进一步调试和解决问题。 #### 引用[.reference_title] - *1* *2* [JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源](https://blog.csdn.net/github_34457546/article/details/52594427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用c3p0数据库连接池出现no suitable driver错误](https://blog.csdn.net/ciakkk/article/details/125034294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值