熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Tomcat 5.0-5.5連接池配置指南

2013-11-23 20:24:25  來源: Java開源技術 

  本文以目前最流行的MySQL為例講解通過Tomcat連接池連接MySQL數據庫的基本步驟如果你了解MySQL可跳過第一步
  
  在進行Tomcat連接池配置前先解壓縮mysqlconnectorjavaxxxzip將其中的mysqlconnectorjavaxxxxxjar取出置於\common\lib中
  
  接下來讓我們一起進入精彩的Tomcat配置之旅
  
  新建用戶及數據庫
  
  操作步驟如下
  
  C:\Documents and Settings\Administrator>d:
  
  D:\>cd mysql\bin
  
  D:\MySQL\bin>mysql u root p
  Enter password: *******
  Welcome to the MySQL monitor Commands end with ; or \g
  Your MySQL connection id is to server version: ant
  
  Type help; or \h for help Type \c to clear the buffer
  
  mysql> GRANT ALL PRIVILEGES ON jcc* TO jcc@localhost IDENTIFIED BY
  WITH GRANT OPTION;
  Query OK rows affected ( sec)
  
  mysql> USE mysql;
  Database changed
  mysql> SELECT HostUserPassword FROM user;
  ++++
  | Host | User | Password |
  ++++
  | localhost | root | *DBECCADEECDE |
  | % | jsp | *CABFDACDCBBEAEF |
  | localhost | jcc | *CABFDACDCBBEAEF |
  ++++
   rows in set ( sec)
  
  mysql> exit
  Bye
  
  D:\MySQL\bin>mysql u jcc p
  Enter password: **********
  Welcome to the MySQL monitor Commands end with ; or \g
  Your MySQL connection id is to server version: ant
  
  Type help; or \h for help Type \c to clear the buffer
  
  mysql> CREATE DATABASE jcc;
  Query OK row affected ( sec)
  
  mysql> USE jcc;
  Database changed
  mysql> CREATE TABLE user(
  > id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
  > name VARCHAR() NOT NULL
  > );
  Query OK rows affected ( sec)
  
  mysql> INSERT INTO user (name) VALUES (Corebit);
  Query OK row affected ( sec)
  
  mysql> INSERT INTO user (name) VALUES (Ivan);
  Query OK row affected ( sec)
  
  mysql> SELECT * FROM user;
  +++
  | id | name |
  +++
  | | Corebit |
  | | Ivan |
  +++
   rows in set ( sec)
  
  mysql>
  
  配置Tomcat連接池
  
  Tomcat進行如下配置
  
  在\conf\serverxml的之間加入以下代碼
  
     factory   monsdbcpBasicDataSourceFactory
  
     maxActive   
  
     maxIdle   
  
     maxWait   
  
     username   jcc
  
     password  
  
      driverClassName    commysqljdbcDriver
  
     url   jdbc:mysql://localhost/jcc
  
  Tomcat進行如下配置
  
  在\conf\serverxml的之間加入以下代碼
  
  在/下新建MySQL數據庫連接文件Selectjsp
  
  Selectjsp源碼如下
  
  ); while(rsnext()){  outprint(rsgetString()+ );  outprint(rsgetString()+
  ); } rsclose(); stmtclose(); connclose();}catch(Exception e){ outprint(e);}%>
  
  運行顯示結果如下
  
  Userlist
   Corebit
   Ivan
  
  則表示數據庫連接成功!恭喜!恭喜!
  
  否則請檢查數據庫連接器版本出錯可能性比較高!
  
  *注
  
  Tomcat連接池中部分參數說明如下
  
  maxActive=  
  
  maxIdle=
  
  maxWait=
  
  jdbc:mysql://localhost/jcc
  
  PS如果最大數據庫活躍連接數過大可想而知內存占用量是非常驚人的!如果空閒連接數過大則資源利用率低連接池長期未釋放可導致連接池結點異常所以選好maxActive和maxIdle是連接池性能的關鍵因素當然這取決於服務器環境
  
  *附
  
  連接池運作原理
  
  在實際應用開發中特別是在WEB應用系統中如果JSPServlet或EJB使用JDBC直接訪問數據庫中的數據每一次數據訪問請求都必須經歷建立數據庫連接打開數據庫存取數據和關閉數據庫連接等步驟而連接並打開數據庫是一件既消耗資源又費時的工作如果頻繁發生這種數據庫操作系統的性能必然會急劇下降甚至會導致系統崩潰數據庫連接池技術是解決這個問題最常用的方法在許多應用程序服務器(例如WeblogicWebSphereJBoss)中基本都提供了這項技術無需自己編程但是深入了解這項技術是非常必要的
  
  數據庫連接池技術的思想非常簡單將數據庫連接作為對象存儲在一個Vector對象中一旦數據庫連接建立後不同的數據庫訪問請求就可以共享這些連接這樣通過復用這些已經建立的數據庫連接可以克服上述缺點極大地節省系統資源和時間
  
  數據庫連接池的主要操作如下
  
  ()建立數據庫連接池對象(服務器啟動)
  
  ()按照事先指定的參數創建初始數量的數據庫連接(即空閒連接數)
  
  ()對於一個數據庫訪問請求直接從連接池中得到一個連接如果數據庫連接池對象中沒有空閒的連接且連接數沒有達到最大(即最大活躍連接數)創建一個新的數據庫連接
  
  ()存取數據庫
  
  ()關閉數據庫釋放所有數據庫連接(此時的關閉數據庫連接並非真正關閉而是將其放入空閒隊列中如實際空閒連接數大於初始空閒連接數則釋放連接)
  
  ()釋放數據庫連接池對象(服務器停止維護期間釋放數據庫連接池對象並釋放所有連接)
  
  希望本文能對你使用Tomcat連接池連接MySQL數據庫有所幫助!
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28444.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.