Tomcat6.0連線池配置
1.配置tomcat下的conf下的context.xml檔案,在之間新增連線池配置:
<Resource name="jdbc/oracle"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver "
url=" jdbc:oracle:thin:@host:port:databse"
username=" user "
password="password"
maxActive="100"
maxIdle="30"
maxWait="10000" />
2.配置你的應用下的web.xml中的之間加入:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/oracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.把連線資料庫的第三方驅動放到common/lib下面就ok了
許多網上帖子說是common/lib下,但是本人發現本人使用的tomcat下根本就沒有這個路徑,如:D:/apache-tomcat-6.0.24/lib,可能不同的版本路徑會不同,但是這個問題需要注意
4、寫連線池例項
本人只貼出一個建立連線池的例子,如下:
public class DBConnectionPool {
static Connection conn=null;
public DBConnectionPool(){
}
public static Connection instance(){
DataSource db=null;
try{
Context initCtx = new InitialContext();
db = (DataSource)initCtx.lookup("java:comp/env/jdbc/oracle");
conn = db.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}
需要注意的是,直接使用Java Application程式測試該例項時會提示找不到配置檔案,這是因為我們配的是web程式,第二步在web.xml中配置的東西很重要,使用Java Application則獲取不到該配置檔案,如果Java Application程式使用連線池則需要配置檔案(.properties),省略。
5、容易出錯的地方
1、許多帖子講步驟1中配置Resources寫成了放在server.xml下,這是錯誤的應該是在context.xml下
2、需要注意的是Resources中的name=jdbc/oracle是配置的連線池資料庫名字,在之後的<resource-ref> 和例項中都需要用到,不能寫錯
3、配置檔案中有中文註釋的,容易初始化時提示編碼錯誤