一区二区三区在线视频播放_一区在线播放视频_欧美.com_亚洲精品无人区_久久亚洲精品视频_国产精品久久久久久久免费软件_久久av一区二区三区_欧美国产日韩精品免费观看_亚洲一区自拍_91久久国产精品91久久性色_亚洲一区二区三区在线播放_久久久久久久一区_国产精品一区二区久久久_精品成人国产_亚洲欧洲精品一区二区三区波多野1战4_在线观看亚洲精品

綠色資源網:您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置:首頁服務器類Web服務器 → Tomcat數據庫連接池的配置方法總結

Tomcat數據庫連接池的配置方法總結

我要評論 2013/04/04 20:42:15 來源:綠色資源網 編輯:www.makmong.com [ ] 評論:0 點擊:214次

數據庫連接是一種關鍵的有限的昂貴的資源,這在多用戶網頁應用程序中體現的尤為突出.對數據庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標,數據庫連接池正是針對這個問題提出的.

數據庫連接池負責分配,管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而不是再重新建立一個;釋放空閑時間超過最大空閑時間的數據庫連接來避免因為沒有釋放數據庫連接而引起的數據庫連接遺漏,這樣可以明顯提高對數據庫操作的性能.

數據庫連接池在初始化的時將創建一定數量的數據庫連接放到連接池中,這些數據庫連接的數量是又最小數據庫連接數來設定的,無論這些數據庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數,當應用程序向連接池請求的連接數超過最大連接數量時,這些請求將被加入到等待隊列中.

數據庫連接池的最小連接數和最大連接數的設置要考慮到下列幾個因素:

1.最小連接數是連接池一直保持的數據庫連接,所以如果應用程序對數據庫連接的使用量不大,將會有大量的數據庫連接資源被浪費.

2.最大連接數是連接池申請的最大連接數,如果數據庫連接請求超過次數,后面的數據庫連接請求將被加入到等待對了中,這回影響之后的數據庫操作

如果最小連接數與最大連接數相差太大,那么最先的連接請求將會獲利,之后超過最小連接數量的連接請求等價于建立一個新的數據庫連接,不過,這些小于最小連接數的數據庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時被釋放.

實例使用的Tomcat版本為6.0

方法一: 在Tomcat的conf/context.xml中配置
在Tomcat\apache-tomcat-6.0.33\conf目錄下的context.xml文件中配置默認值如下:

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

配置連接池:

<?xml version='1.0' encoding='utf-8'?>
 

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!--配置oracle數據庫的連接池-->
    <Resource name="jdbc/oracleds"
        author="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        username="scott"
        password="tiger"
        driverClassName="oracle.jdbc.dirver.OracleDriver"
        url="jdbc:oracle:thin:@127.0.0.1:1521:ora9" />

    <!--配置mysql數據庫的連接池, 
        需要做的額外步驟是將mysql的Java驅動類放到tomcat的lib目錄下        
        maxIdle 連接池中最多可空閑maxIdle個連接 
        minIdle 連接池中最少空閑maxIdle個連接 
        initialSize 初始化連接數目 
        maxWait 連接池中連接用完時,新的請求等待時間,毫秒 
        username 數據庫用戶名
        password 數據庫密碼
        -->
    <Resource name="jdbc/mysqlds" 
        auth="Container" 
        type="javax.sql.DataSource" 
        username="root" 
        password="root" 
        maxIdle="30" 
        maxWait="10000" 
        maxActive="100"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://127.0.0.1:3306/db_blog" />

</Context>

配置好后需要注意的兩個步驟
 

1.將對應數據庫的驅動類放到tomcat的lib目錄西安

2.重新啟動tomcat服務器,讓配置生效

在web應用程序的web.xml中設置數據源參考,如下:

在<web-app></web-app>節點中加入下面內容

<resource-ref>
 

      <description>mysql數據庫連接池</description>
      <!-- 參考數據源名字,同Tomcat中配置的Resource節點中name屬性值"jdbc/mysqlds"一致 -->
      <res-ref-name>jdbc/mysqlds</res-ref-name>
      <!-- 資源類型 -->
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

錯誤解決:
 

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
 

    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at com.iblog.util.DBPoolUtil.<clinit>(DBPoolUtil.java:34)

解決方案:
 

上面的異常信息是配置文件中JNDI沒有初始化造成的

如果下面的問題都不存在

1.要去檢查下配置文件中連接數據庫的URL參數是否正確2.以及是否導入了正常的包3.檢查在Tomcat中conf/server.xml文件,檢查是否設置useNaming="false",如果是,去掉

2.那就是通過main方法測試的,這個數據源不支持這樣的測試方法,程序要運行在Tomcat中才能找到相應的數據源.[我在測試時犯這樣的錯導致上面錯誤出現]

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>     
 

<%@ page import="java.sql.*" %>     
<%@ page import="javax.naming.*" %>     
<%@ page import="javax.sql.DataSource" %>
<html>     
<head>     
<title>Tomcat6.0 JNDI!</title>    
</head>    
  <body>      
   Tomcat連接池測試,獲取數據源 <br>     
    <%     
        try {      
            //初始化查找命名空間
            Context ctx = new InitialContext();  
            //參數java:/comp/env為固定路徑   
            Context envContext = (Context)ctx.lookup("java:/comp/env"); 
            //參數jdbc/mysqlds為數據源和JNDI綁定的名字
            DataSource ds = (DataSource)envContext.lookup("jdbc/mysqlds"); 
            Connection conn = ds.getConnection();     
            conn.close();     
            out.println("<span style='color:red;'>JNDI測試成功<span>");     
        } catch (NamingException e) {     
            e.printStackTrace();     
        } catch (SQLException e) {     
            e.printStackTrace();     
        }     
    %>     
  </body>     
</html>   

運行效果:
 

方法二:在Tomcat的conf/server.xml中配置

打開tomcat的conf/server.xml文件,找到<GlobalNamingResources></GlobalNamingResources>節點,默認的內容如下

<GlobalNamingResources>
 

    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

在該節點中加入相關的池配置信息,如下
 

  <GlobalNamingResources>
 

             <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

             <!--配置mysql數據庫的連接池, 
                需要做的額外步驟是將mysql的Java驅動類放到tomcat的lib目錄下        
               -->
             <Reso                    

關鍵詞:Tomcat,數據庫

閱讀本文后您有什么感想? 已有 人給出評價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視
一区二区三区在线视频播放_一区在线播放视频_欧美.com_亚洲精品无人区_久久亚洲精品视频_国产精品久久久久久久免费软件_久久av一区二区三区_欧美国产日韩精品免费观看_亚洲一区自拍_91久久国产精品91久久性色_亚洲一区二区三区在线播放_久久久久久久一区_国产精品一区二区久久久_精品成人国产_亚洲欧洲精品一区二区三区波多野1战4_在线观看亚洲精品
雨宫琴音一区二区在线| 欧美+日本+国产+在线a∨观看| 国产精品视频大全| 欧美在线影院| 国产农村妇女毛片精品久久莱园子| 免费成人性网站| 在线观看久久av| 欧美jizz19hd性欧美| 亚洲一区免费| 亚洲视屏一区| 欧美日韩亚洲综合一区| 亚洲一区免费在线观看| 欧美性开放视频| 国产在线观看一区| 久久久国产成人精品| 午夜精品影院| 亚洲第一黄色| 亚洲人成网站精品片在线观看| 亚洲日本精品国产第一区| 亚洲一区综合| 欧美+亚洲+精品+三区| 国产主播喷水一区二区| 久久影视三级福利片| 鲁鲁狠狠狠7777一区二区| 欧美精品色一区二区三区| 欧美日韩国产另类不卡| 久久精品国产一区二区电影| 亚洲欧美日韩专区| 欧美aⅴ99久久黑人专区| 久久九九全国免费精品观看| 国产欧美综合一区二区三区| 激情综合五月天| 欧美精品一区二区三区高清aⅴ| 羞羞色国产精品| 欧美日韩久久久久久| 国产精品美女久久福利网站| 久久精品理论片| 韩国视频理论视频久久| 国产亚洲精品激情久久| 一本久久a久久免费精品不卡| 另类av一区二区| 久热综合在线亚洲精品| 国产欧美婷婷中文| 欧美另类一区二区三区| 噜噜噜91成人网| 国产精品欧美久久| 久久久久久婷| 洋洋av久久久久久久一区| 在线成人国产| 午夜精品美女自拍福到在线| 狠狠操狠狠色综合网| 欧美www在线| 好吊色欧美一区二区三区四区| 国产午夜久久久久| 在线成人小视频| 欧美日韩一区二区三区在线观看免| 亚洲免费成人av电影| 欧美sm视频| 亚洲欧美美女| 欧美成人一区二区三区在线观看| 这里只有精品电影| 欧美日韩国产一级片| 欧美性理论片在线观看片免费| 国精产品99永久一区一区| 欧美—级a级欧美特级ar全黄| 欧美日韩综合久久| 亚洲性线免费观看视频成熟| 久久亚洲二区| 国产精品99久久久久久久久久久久| 亚洲欧美精品suv| 亚洲国产小视频| 最新国产成人在线观看| 亚洲国产精品va在线看黑人动漫| 欧美三级视频在线观看| 国产精品美女久久久久久免费| 美国十次了思思久久精品导航| 国产精品99久久久久久www| 国产欧美日韩专区发布| 亚洲韩日在线| 国产麻豆精品视频| 久久午夜国产精品| 国产精品一区二区在线| 亚洲午夜一二三区视频| 国产精品久久久久永久免费观看| 欧美日韩国产综合久久| 亚洲一区二区成人| 欧美三级午夜理伦三级中视频| 一区二区三区在线免费播放| 欧美日韩三级视频| 国产一区二区三区在线播放免费观看| 国产欧美日韩视频一区二区三区| 亚洲电影在线播放| 亚洲精品一级| 国产日韩欧美自拍| 久久九九全国免费精品观看| 麻豆91精品91久久久的内涵| 黄色亚洲大片免费在线观看| 国产亚洲第一区| 男男成人高潮片免费网站| 国产精品午夜电影| 亚洲电影免费| 国产精品国产精品国产专区不蜜| 狠狠综合久久av一区二区小说| 国产一区亚洲一区| 国产深夜精品福利| 亚洲国产美女精品久久久久∴| 欧美亚洲日本一区| 欧美激情黄色片| 欧美日韩免费高清一区色橹橹| 国产精品视频一区二区高潮| 最新国产拍偷乱拍精品| 欧美激情第一页xxx| 国产精品热久久久久夜色精品三区| 亚洲自拍电影| 国产精品二区三区四区| 欧美一区二区三区四区高清| 欧美日韩国产丝袜另类| 欧美色播在线播放| 欧美一区二区三区视频免费| 国产麻豆综合| 亚洲午夜一区二区三区| 欧美黄免费看| 国产精品夫妻自拍| 亚洲理伦电影| 亚洲国产美国国产综合一区二区| 国产乱子伦一区二区三区国色天香| 欧美激情第9页| 日韩午夜视频在线观看| 欧美一级欧美一级在线播放| 久久亚洲国产精品日日av夜夜| 欧美伊人久久大香线蕉综合69| 99re8这里有精品热视频免费| 在线观看日产精品| 国产一区二区在线观看免费播放| 亚洲国产另类久久精品| 亚洲精品日韩一| 国产精品高清一区二区三区| 理论片一区二区在线| 亚洲精选中文字幕| 鲁鲁狠狠狠7777一区二区| 久久国产手机看片| 久久九九热免费视频| 国产精品久久久久久av下载红粉| 国产精品青草久久久久福利99| 最新高清无码专区| 国产嫩草影院久久久久| 国产精品久线观看视频| 欧美在线一区二区三区| 国产有码一区二区| 亚洲午夜精品福利| 亚洲国产精品久久人人爱蜜臀| 国产精品人成在线观看免费| 黄色一区二区在线| 国产又爽又黄的激情精品视频| 国产精品久久夜| 亚洲亚洲精品三区日韩精品在线视频| 国产精品性做久久久久久| 国产精品日产欧美久久久久| 亚洲国产欧美另类丝袜| 一区二区在线视频观看| 久久国产福利国产秒拍| a91a精品视频在线观看| 欧美色精品天天在线观看视频| 久久在线观看视频|