您的位置:首页 > 运维架构 > Tomcat

tomcat5.5连接池配置

2007-04-26 19:48 363 查看
今天试了下tomcat连接池的配置,在网上找的有些资料,总是有问题,不过试了多次终于成功了。以下是我的一点经验,好像也不用在web.xml里面添加什么<resource-ref>

首先记得把数据库驱动放到server/lib/下面,我用的是tomcat5.5和mysql5.0

1,第一种方法:配置全局的连接池,可以由多个工程引用

在server.xml文件中的<GlobalNamingResources>结点下面添加,连接池设置

<Resource name="jdbc/mysql" type="javax.sql.DataSource"
password="" driverClassName="org.gjt.mm.mysql.Driver" maxIdle="2"
maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test"
maxActive="4" />

然后在conf/catalina/localhost/下面添加你工程的配置文件,我的工程名叫jndi,配置文件名叫jndi.xml

<Context
docBase="jndi" path="/jndi"
privileged="true">
<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"/>
</Context>

或者直接把上面这段放到server.xml的<host>结点中就不用添加上面的jndi.xml了,

其中<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"/>
这一行别忘了,是引用服务器上全局的连接池资源. 这两种效果是一样的, 现在就可以在web工程中引用连接池来创建数据库接了。

2,第二种方法:配置私有的连接池:只有该工程可以使用
直接在conf/catalina/localhost/中添加jndi.xml,添加如下内容:

<Context docBase="jndi" path="/jndi" privileged="true">
<Resource name="jdbc/mysql" type="javax.sql.DataSource"
password="" driverClassName="org.gjt.mm.mysql.Driver" maxIde="2"
maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test"
maxActive="4" />
</Context>

这样就可以了。

3,第三种方法:也是私有的连接池

直接在服务器上添加工程配置和连接池配置,在<host>结点中,添加:

<Context docBase="jndi" path="/jndi" privileged="true">
<Resource name="jdbc/mysql" type="javax.sql.DataSource"
password="" driverClassName="org.gjt.mm.mysql.Driver" maxIdle="2"
maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test"
maxActive="4" />
</Context>

就可以了。

最后是测试代码,必须在web工程中运行。

InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
conn = ds.getConnection();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: