国产探花免费观看_亚洲丰满少妇自慰呻吟_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這樣的處理方案。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临高县| 西充县| 孝昌县| 祁门县| 津市市| 闽侯县| 萍乡市| 钟祥市| 宁蒗| 永兴县| 方山县| 南丹县| 甘孜县| 刚察县| 特克斯县| 仁布县| 博湖县| 康乐县| 佛坪县| 秭归县| 苍南县| 英吉沙县| 咸宁市| 乌海市| 保康县| 安岳县| 临沧市| 沭阳县| 平乐县| 南川市| 宜川县| 琼中| 韩城市| 龙川县| 新乡县| 大同县| 鄂温| 淮安市| 教育| 陆丰市| 梓潼县|