tomcat6+mysql5之DBCP配置

这个配置弄了大概我一个上午。以前用tomcat 5.后来配置还是出了问题,原因是很简单的一个“r”没有写。
配置方法如下:
在tomcat安装目录下conf目录下的context.xml加入
<Resource
        
name="jdbc/test"  auth="Container"
        type
="javax.sql.DataSource"
        driverClassName
="com.mysql.jdbc.Driver"
        url
="jdbc:mysql://localhost:3306/lucene"
        username
="root" password="admin"
        maxActive
="30" maxIdle="10"  maxWait="-1"/>
第一步好了,然后就是加入dbcp包和mysql驱动包,2个包复制到lib目录下。
三:修改项目中的web.xml文件
加入
<resource-ref>   
  
<res-ref-name>jdbc/test</res-ref-name>   
  
<res-type>javax.sql.DataSource</res-type>   
  
<res-auth>Container</res-auth>   
</resource-ref> 
最后就是测试
<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<HTML>
<HEAD>
<TITLE>JNDI测试</TITLE>
</HEAD>
<BODY>
<%
 try {
  Context ctx 
= new InitialContext();
  DataSource ds 
= (DataSource) ctx.lookup("java:comp/env/jdbc/test");
  Connection conn 
= ds.getConnection();
    out.println(conn.toString());
 } catch (NamingException e) {
  e.printStackTrace();
 } catch (SQLException e) {
  e.printStackTrace();
 }
%>
</BODY>
</HTML>
如果输出:
jdbc:mysql://localhost:3306/lucene, UserName=root@localhost, MySQL-AB JDBC Driver 

这个测试不能再应用程序中,只能在web容器中才可以。

刚测试了一下,如果想测试多个数据源的话,在context.xml要加入
  factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
使得数据源交由dbcpfactory管理。
如果想使用dbcp自动回收数据库连接资源的话,
可以在后面增加一条:
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
removeAbandonedTimeout  超时单位为秒,设置是需设置相当才行

posted on 2009-03-05 13:32 duduli 阅读(625) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

welcome to my place.

常用链接

留言簿(5)

我参与的团队

随笔分类

随笔档案

新闻分类

石头JAVA摆地摊儿

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

@duduli