Tomcat连接池

Java不像DotNet那样内置了连接池,所以用jdbc写程序时DB连接性能是非常差的,其实Tomcat自身就支持连接池,用法也远比第三方组件简单。(真想不明白这么重要的一个功能java为什么不给集成到api里)

先修改tomcat的配置文件server.xml,在配置应用的时候增加点东西:

  1. <Context docBase="XXX" path="/pool_test" debug="0"> 
  2.     <Resource name="jdbc/pool"      <!--起个名字--> 
  3.               auth="Container" 
  4.               type="javax.sql.DataSource"  
  5.               maxActive="50"        <!--最大连接数量--> 
  6.               maxIdle="0"           <!--最小数量--> 
  7.               maxWait="10000"       <!--超时时间,秒--> 
  8.               username="UID"        <!--数据库用户名--> 
  9.               password="PWD"        <!--密码--> 
  10.               driverClassName="com.mysql.jdbc.Driver"               <!--jdbc驱动--> 
  11.               url="jdbc:mysql://localhost:3306/db?useUnicode=true"  <!--jdbc连接串--> 
  12.     /> 
  13. </Context> 

然后是应用的web.xml,增加对资源的引用:

  1. <resource-ref> 
  2.    <description>DBConnection</description> 
  3.    <res-ref-name>jdbc/pool</res-ref-name>       <!--用刚才起的名字--> 
  4.    <res-type>javax.sql.DataSource</res-type> 
  5.    <res-auth>Container</res-auth> 
  6. </resource-ref> 

最后是代码了:

  1. Context ctx = new InitialContext(); 
  2. DataSource dbSource = (DataSource)ctx.lookup("java:comp/env/jdbc/pool"); //名字要加上前缀 
  3. Connection conn = dbSource.getConnection(); 
  4. //..... 
  5. conn.close(); 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值