天天看點

tomcat6.0 配置連接配接池

3種配置方法

一.配置全局連接配接池

1.配置server.xml

找到<GlobalNamingResources></GlobalNamingResources>标簽

在起中加入 (代碼段1)

<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>
           

 2.配置context.xml

在<Context></Context>中<WatchedResource>WEB-INF/web.xml</WatchedResource>後加入

<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
           

二.在context.xml配置

在context.xml檔案的Context節點中配置Resource

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>	
<Context>
           

三.在server.xml中的Context節點内配置Resource(私有的)

<Context docBase="common" path="/common" reloadable="true" source="org.eclipse.jst.jee.server:common">
    <Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="20" maxIdle="10" maxWait="5000" name="jdbc/test" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@192.168.1.:1521:ql" username="username"/>	
</Context>
           

配置項目的xml,加入

<resource-ref>       
  <description>DB Connection</description>       
  <res-ref-name>jdbc/test</res-ref-name>       
  <res-type>javax.sql.DataSource</res-type>       
  <res-auth>Container</res-auth>       
</resource-ref>
           

用spring的做如下配置:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true"> 
  <property name="jndiName"> <value>java:comp/env/jdbc/test</value> </property>
 </bean>
           

測試使用

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="javax.naming.*,javax.sql.*,java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試jndi</title>
</head>
<body>
<%
try {
	Context cxt = new InitialContext();
	//獲得資料源 
	DataSource ds = (DataSource) cxt.lookup("java:comp/env/jdbc/test");
	//擷取連接配接 
	Connection conn=ds.getConnection();
	out.println(conn);
	Statement stmt=conn.createStatement();

	ResultSet rs=stmt.executeQuery("select 1 from dual");
	while(rs.next())
	{
		out.println(rs.getString("1"));
	}
} catch (Exception e) {
	e.printStackTrace();
}
%>
</body>
</html>
           

 記得把連接配接資料庫的第三方驅動放到common/lib下

相關參數說明:

name 為目前資料源JNDI的名字,可以随意設定;

auth 為驗證方式;

type 資源類型;

driverClassName 為Oracle驅動引用;

maxActiv 為連接配接池最大激活的連接配接數,設為0表示無限制;

maxIdle 為連接配接池最大空閑的連接配接數,資料庫連接配接的最大空閑時間。超過空閑時間,

            資料庫連接配接将被标記為不可用,然後被釋放。設為0表示無限制;

maxWait 為連接配接最大的等待時間,機關毫秒,如果超過此時間将接到異常。設為-1

              表示無限制。;

username 為oracle資料庫的一個使用者名;

password 為username的密碼;

url 為連接配接oracle的連接配接位址;

注:driverClassName="oracle.jdbc.driver.OracleDriver"

driverClassName="oracle.jdbc.OracleDriver" 都可以

更多參數說明

http://blog.csdn.net/etjnety/article/details/7767399