tomcat6 数据源配置(server.xml模式和context.xml方式)

tomcat6 数据源配置(server.xml方式和context.xml方式)

本文基于tomcat6.0.20版本

1.context.xml方式

 

在我们的WebRoot目录下,就是和WEB-INF同级的目录下,新建一个META-INF的目录(假如不存在),在该目录下创建一个context.xml文件,并且在context.xml文件当添加以下的配置信息:

<Context>
	<Resource name="jdbc/DSjwzhxt" auth="Container" type="javax.sql.DataSource"
		maxActive="20" maxIdel="10" maxWait="1000" username="qbuser"
		password="qbxt" driverClassName="oracle.jdbc.driver.OracleDriver"
		url="jdbc:oracle:thin:@192.168.1.3:1521:qbdb">
	</Resource>
</Context>

 其中:
name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址

 

注意,这里你配置的name值要和程序中使用的是一样的,比如按照这个例子,程序就应该是这样的

private static String gENV = "java:comp/env/";
Context ctx = new InitialContext();
      Context envContext = (Context)ctx.lookup(gENV);
      DataSource ds = (DataSource) envContext.lookup("jdbc/DSjwzhxt");
      Connection conn = ds.getConnection();

 

这种配置方式,tomcat启动的时候会在tomcat-6.0.20\conf\Catalina\localhost下自动建立一个和应用同名的xml文件,内容和context.xml是一样的。

 

其实可以不用context.xml,直接在tomcat-6.0.20\conf\Catalina\localhost下建立一个和应用同名的xml文件,然后里面的内容和context.xml一样也行。

 

2.在server.xml文件中配置数据源

在host节点内添加context节点

<Context path="/bdbj" docBase="bdbj" reloadable="true" crossContext="true">
        <Resource name="jdbc/DSjwzhxt" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="30"
                maxWait="10000" username="stuser" password="****"
                    driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@192.168.1.11:1521:hyperic"/>
</Context>

 效果如下图

tomcat6 数据源配置(server.xml模式和context.xml方式)

1 楼 yzongjie 2010-10-19  
good ,thanks
2 楼 jaja_jaja 2011-06-26  
应该评论一下优缺点,这样看貌似两种方式都行似的,实际上第二种方式tomcat5.5之后已经不那样用了