1. 程式人生 > >Tomcat6.0連線池配置

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、配置檔案中有中文註釋的,容易初始化時提示編碼錯誤