国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Tomcat 7-dbcp配置數據庫連接池詳解

2024-09-01 13:51:26
字體:
來源:轉載
供稿:網友

Tomcat 7-dbcp配置數據庫連接池詳解

原理

      關于連接池,大家都曉得用來限定對數據庫的連接。基本的原理是預先在緩沖池中放入一定的空閑連接,當程序需要和數據庫來交互時,不是直接新建數據庫連接而是在連接池中直接取,使用完成后再放回到連接池中。為什么要這樣犧牲一個緩沖來存放這些原本就會使用的連接呢?在上面講了一個好處就是可以限定連接數,這樣不會造成N多的數據庫連接最后宕機;額外有了這樣一個連接池,也可以來監聽這些連接和便于管理。

配置

1.拷貝相關的jar

要知道連接池不是用來直接操作數據庫的,最終進行相關操作的還是相關的jdbc驅動。如果是tomcat服務器,直接將驅動拷到tomncat的lib中。對于Java是ojdbc6.jar;對于sqlserver來講是tomcat-dbcp.jar、servlet-ap.jar和sql server的驅動sqljdbc4.jar 包到項目文件的web-inf 文件夾下的lib目錄。 

2.配置context.xml

   name="jdbc/drp"    auth="Container"    type="javax.sql.DataSource"    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"    maxActive="100"    maxIdle="30"  maxWait="10000"  username="drp1"  password="drp1"  driverClassName="oracle.jdbc.driver.OracleDriver"  url="jdbc:oracle:thin:@localhost:1521:drp" /> 

如果是全局配置的話,將context.xml文件放在tomcat的配置文件夾conf中即可;若想局部控制就需要將context.xml放在指定的項目中webroot的meta-inf中,就只會對自己本項目起作用。

注:

Name:指定連接池的名稱Auth:是連接池管理權屬性,Container表示容器管理type:數據源類型factory:這個是在tomcat 5之后對于commons-dbcp的一種處理方案,具體是用了這樣一個指定的實現類來處理的。性能更加優越,也能夠兼容dbcp。maxActive:最大的分配連接數。maxIdle:idle是空閑的意思,所以這個就是當tomcat啟動時,緩沖池為連接的新建的連接數。maxWait:本文最大響應時間為10s。url:為數據庫地址。sqlserver的格式:jdbc:sqlserver://localhost:1433;DatabaseName=name;driverclassname:驅動地址。sqlserver的為:com.microsoft.sqlserver.jdbc.SQLServerDriver

 3.驗證

Connectionconn=null; PreparedStatementpstmt=null; ResultSetrs=null; try{ //實例DBCP連接池 Contextctx=new InitialContext(); //通過JNDI訪問指定的連接池 DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/drp"); //實例化數據庫連接 conn=ds.getConnection(); //查詢語句 pstmt=conn.prepareStatement("select* from t_user"); rs=pstmt.executeQuery(); if(rs.next()){ System.out.print(rs.getString("user_id")+rs.getString("user_name")); System.out.print(conn); } }catch(SQLExceptione){  } finally{  } 

后序

    之前tomcat 5的版本即可以在localhost:8080/admin中視圖化配置,也可在xml中;后面就棄用了視圖化配置的過程。總得來說對于針對數據連接的處理的方案,有他的好處,也需要開發人員在平時的編程中養成好的習慣,如果對于開啟的連接沒有關閉,當連接池夠大的時候,會影響性能;如果達到峰值,那么程序直接宕掉。也減少了咱們在創建數據庫連接的時間。當然除了dbcp,也有C3P0、Poolmen這樣的處理方案。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 西华县| 慈溪市| 萍乡市| 辰溪县| 灵璧县| 信丰县| 英德市| 呼图壁县| 蕲春县| 溆浦县| 内江市| 安顺市| 金秀| 潼南县| 浮梁县| 都兰县| 龙州县| 潞西市| 五指山市| 桦南县| 东兰县| 淮南市| 新平| 连山| 邯郸市| 休宁县| 龙州县| 沂南县| 安丘市| 都匀市| 鄢陵县| 鄂托克前旗| 西丰县| 安徽省| 德令哈市| 张家港市| 阳西县| 平安县| 南投市| 翁源县|