久久久久久久性爱潮,国产又粗又猛又爽又黄下载视频,尤物国产在线一区视频,欧美日本国产在线不卡

<sup id="4uqqy"><ol id="4uqqy"></ol></sup>
  • <th id="4uqqy"></th>

      • <strike id="4uqqy"><nobr id="4uqqy"><ins id="4uqqy"></ins></nobr></strike><sup id="4uqqy"></sup><strong id="4uqqy"><u id="4uqqy"></u></strong>
        <sub id="4uqqy"></sub>

          綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門(mén)排行|軟件分類(lèi)|軟件專(zhuān)題|廠商大全

          綠色資源網(wǎng)

          技術(shù)教程
          您的位置:首頁(yè)服務(wù)器類(lèi)Web服務(wù)器 → Tomcat數(shù)據(jù)庫(kù)連接池的配置方法總結(jié)

          Tomcat數(shù)據(jù)庫(kù)連接池的配置方法總結(jié)

          我要評(píng)論 2013/04/04 20:42:15 來(lái)源:綠色資源網(wǎng) 編輯:www.kiwanis-srv.org [ ] 評(píng)論:0 點(diǎn)擊:214次

          數(shù)據(jù)庫(kù)連接是一種關(guān)鍵的有限的昂貴的資源,這在多用戶(hù)網(wǎng)頁(yè)應(yīng)用程序中體現(xiàn)的尤為突出.對(duì)數(shù)據(jù)庫(kù)連接的管理能顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo),數(shù)據(jù)庫(kù)連接池正是針對(duì)這個(gè)問(wèn)題提出的.

          數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配,管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是再重新建立一個(gè);釋放空閑時(shí)間超過(guò)最大空閑時(shí)間的數(shù)據(jù)庫(kù)連接來(lái)避免因?yàn)闆](méi)有釋放數(shù)據(jù)庫(kù)連接而引起的數(shù)據(jù)庫(kù)連接遺漏,這樣可以明顯提高對(duì)數(shù)據(jù)庫(kù)操作的性能.

          數(shù)據(jù)庫(kù)連接池在初始化的時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中,這些數(shù)據(jù)庫(kù)連接的數(shù)量是又最小數(shù)據(jù)庫(kù)連接數(shù)來(lái)設(shè)定的,無(wú)論這些數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù)超過(guò)最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中.

          數(shù)據(jù)庫(kù)連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個(gè)因素:

          1.最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫(kù)連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)連接的使用量不大,將會(huì)有大量的數(shù)據(jù)庫(kù)連接資源被浪費(fèi).

          2.最大連接數(shù)是連接池申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫(kù)連接請(qǐng)求超過(guò)次數(shù),后面的數(shù)據(jù)庫(kù)連接請(qǐng)求將被加入到等待對(duì)了中,這回影響之后的數(shù)據(jù)庫(kù)操作

          如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請(qǐng)求將會(huì)獲利,之后超過(guò)最小連接數(shù)量的連接請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫(kù)連接,不過(guò),這些小于最小連接數(shù)的數(shù)據(jù)庫(kù)連接在使用完不會(huì)馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時(shí)被釋放.

          實(shí)例使用的Tomcat版本為6.0

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

          <?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數(shù)據(jù)庫(kù)的連接池-->
              <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數(shù)據(jù)庫(kù)的連接池, 
                  需要做的額外步驟是將mysql的Java驅(qū)動(dòng)類(lèi)放到tomcat的lib目錄下        
                  maxIdle 連接池中最多可空閑maxIdle個(gè)連接 
                  minIdle 連接池中最少空閑maxIdle個(gè)連接 
                  initialSize 初始化連接數(shù)目 
                  maxWait 連接池中連接用完時(shí),新的請(qǐng)求等待時(shí)間,毫秒 
                  username 數(shù)據(jù)庫(kù)用戶(hù)名
                  password 數(shù)據(jù)庫(kù)密碼
                  -->
              <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>

          配置好后需要注意的兩個(gè)步驟
           

          1.將對(duì)應(yīng)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)類(lèi)放到tomcat的lib目錄西安

          2.重新啟動(dòng)tomcat服務(wù)器,讓配置生效

          在web應(yīng)用程序的web.xml中設(shè)置數(shù)據(jù)源參考,如下:

          在<web-app></web-app>節(jié)點(diǎn)中加入下面內(nèi)容

          <resource-ref>
           

                <description>mysql數(shù)據(jù)庫(kù)連接池</description>
                <!-- 參考數(shù)據(jù)源名字,同Tomcat中配置的Resource節(jié)點(diǎn)中name屬性值"jdbc/mysqlds"一致 -->
                <res-ref-name>jdbc/mysqlds</res-ref-name>
                <!-- 資源類(lèi)型 -->
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
          </resource-ref>

          錯(cuò)誤解決:
           

          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沒(méi)有初始化造成的

          如果下面的問(wèn)題都不存在

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

          2.那就是通過(guò)main方法測(cè)試的,這個(gè)數(shù)據(jù)源不支持這樣的測(cè)試方法,程序要運(yùn)行在Tomcat中才能找到相應(yīng)的數(shù)據(jù)源.[我在測(cè)試時(shí)犯這樣的錯(cuò)導(dǎo)致上面錯(cuò)誤出現(xiàn)]

          <%@ 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連接池測(cè)試,獲取數(shù)據(jù)源 <br>     
              <%     
                  try {      
                      //初始化查找命名空間
                      Context ctx = new InitialContext();  
                      //參數(shù)java:/comp/env為固定路徑   
                      Context envContext = (Context)ctx.lookup("java:/comp/env"); 
                      //參數(shù)jdbc/mysqlds為數(shù)據(jù)源和JNDI綁定的名字
                      DataSource ds = (DataSource)envContext.lookup("jdbc/mysqlds"); 
                      Connection conn = ds.getConnection();     
                      conn.close();     
                      out.println("<span style='color:red;'>JNDI測(cè)試成功<span>");     
                  } catch (NamingException e) {     
                      e.printStackTrace();     
                  } catch (SQLException e) {     
                      e.printStackTrace();     
                  }     
              %>     
            </body>     
          </html>   

          運(yùn)行效果:
           

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

          打開(kāi)tomcat的conf/server.xml文件,找到<GlobalNamingResources></GlobalNamingResources>節(jié)點(diǎn),默認(rèn)的內(nèi)容如下

          <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>

          在該節(jié)點(diǎn)中加入相關(guān)的池配置信息,如下
           

            <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數(shù)據(jù)庫(kù)的連接池, 
                          需要做的額外步驟是將mysql的Java驅(qū)動(dòng)類(lèi)放到tomcat的lib目錄下        
                         -->
                       <Reso                    

          關(guān)鍵詞:Tomcat,數(shù)據(jù)庫(kù)

          閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

          • 0 歡迎喜歡
          • 0 白癡
          • 0 拜托
          • 0 哇
          • 0 加油
          • 0 鄙視