Tomcat JNDI 连接池

[quote]
tomcat连接池(JNDI)配置
1、拷贝jdbc驱动到 %TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib里面
2、修改%TOMCAT_HOME%/conf/server.xml




3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件,如wage.xml,一定要相同
文件的内容




4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF/web.xml



ConnectDB
ConnectDB
javax.sql.DataSource
Container


5、调用
DataSource ds=null;
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup(“java:comp/env”);
ds=(DataSource)envCtx.lookup(“ConnectDB”);
%>
<% if(ds!=null){ System.out.println("已经获得DataSource"); Connection con = ds.getConnection(); Statement stmt=con.createStatement(); %>

[/quote]

一.在tomcat_homecommonlib下放入jdbc的驱动程序,额外说一下,如果是使用sql server的话,有至少两个驱动可以选择,一个是微软提供的,另一个是 jtds,比微软的要好很多,推荐使用

二.配置文件,tomcat 不同的版本配置文件略有不同,下面以tomcat5..5.*为例。

三.如果配置不正确会出现javax.naming.NameNotFoundException: Name is not bound in this Context 错误
方式一、全局数据库连接池
1、通过管理界面配置连接池,或者直接在tomcatconfserver.xml的GlobalNamingResources中增加

2、在tomcatwebappsmyappMETA-INFcontext.xml的Context中增加:

这样就可以了。

方式二、全局数据库连接池
1、同上
2、在tomcatconfcontext.xml的Context中增加:

方式三、局部数据库连接池
只需在tomcatwebappsmyappsMETA-INFcontext.xml的Context中增加:

参数说明:
driveClassName:JDBC驱动类的完整的名称;
maxActive:同时能够从连接池中被分配的可用实例的最大数;
maxIdle:可以同时闲置在连接池中的连接的最大数;
maxWait:最大超时时间,以毫秒计;
password:用户密码;
url:到JDBC的URL连接;
user:用户名称;
validationQuery:用来查询池中空闲的连接。
以上三种方式在tomcat 5.5.4下都可以。另外,sql server的jdbc driver是从微软网站上下载的sql server jdbc (sp3)。

下面 分别举tomcat5.0 和tomcat 5.5 配置文件 的例子(将此配置文件置于Tomcat confCatalinalocalhost 下)

tomcat5.0

[GS=XML]
factory
org.apache.commons.dbcp.BasicDataSourceFactory
maxActive
10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部