乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何定義JNDI數(shù)據(jù)源(http://bbs.bc-cn.net/viewthread.php?tid=150789)

       昵稱10504424 2013-02-18

      如何定義JNDI數(shù)據(jù)源 (抽取翻譯了一下Tomcat文檔的JNDI數(shù)據(jù)源的部分,不對的地方請指正..)

      內(nèi)容提要:
      1、介紹
      2、數(shù)據(jù)連接池的配置
      3、不使用連接池的解決方案
      4、Oracle數(shù)據(jù)源配置舉例

      1、總體介紹 Introdution

      配置JNDI數(shù)據(jù)源是配置JNDI資源的一個特例,過程和方法都差不多..
      請注意:在Tomcat 5.0.x 和 Tomcat 5.5.x版本之間,JNDI資源的配置已經(jīng)發(fā)生了變化,所以,如果你使用的是以上版本需要修改一下配置語法..
      本文假定你已經(jīng)理解了Context和Host的配置,如果沒有,請自行學習..

      2、數(shù)據(jù)連接池的配置 Database Connection Pool(DBCP) Configurations

      DBCP提供了對JDBC2.0的支持,如果你使用的1.4版本JVM,DBCP將支持JDBC3.0..
      2.1 安裝 Installation
      DBCP使用Jakarta-Commons Database Connection Pool,它依賴以下三個包:
      Jakarta-Commons DBCP
      Jakarta-Commons Collections
      Jakarta-Commons Pool
      在Tomcat的安裝目錄提供了一個集成的jar包 $CATALINA_HOME/lib/tomcat-dbcp.jar..
      3 避免數(shù)據(jù)連接池泄露 Preventing DB connection pool leaks
      顧名思義,數(shù)據(jù)連接池負責創(chuàng)建和管理數(shù)據(jù)庫連接.重用一個已經(jīng)存在的數(shù)據(jù)連接要比每次都打開新建(new)一個連接效率高的多..
      但連接池通常個問題:一個Web應用程序需要關閉ResultSet's,Statement's,Connections's等資源.如果應用程序關閉資源失敗,就是導致這些資源無法在被重用,即數(shù)據(jù)連接池泄露.最終如果沒有足夠的有效的連接,將導致應用程序連接失敗.
      對于這個問題有個解決方法;Jakarta-Commons的DBCP可以通過配置來跟蹤、恢復那些關閉失敗的連接.不但可以恢復,而且還可以生成堆棧軌跡..
      為了關閉和重用那個被遺棄的資源,可以在DBCP數(shù)據(jù)源的資源配置中加入一下屬性:


      xml 代碼
      removeAbandoned="true"


      當有效的數(shù)據(jù)連接低于DBCP設置的時候,就會重用被遺棄的資源..默認是false;


      xml 代碼
      removeAbandonedTimeout="60"


      設置被拋棄的數(shù)據(jù)連接在多少秒之后可以被刪除...默認是300秒.


      xml 代碼
      logAbandoned="true"


      如果想要記錄下被拋棄數(shù)據(jù)連接的堆棧軌跡可以設為true..默認false;

      4、Oracle配置舉例
      Tomcat只能識別*.jar文件,如果數(shù)據(jù)庫驅(qū)動為*.zip,則需要修改擴展名為jar..對于Oracle9i應該使用 oracle.jdbc.OracleDriver,因為 oracle.jdbc.driver.OracleDriver 已經(jīng)不建議使用..將來也不一定支持了..
      4.1 配置server.xml


      xml 代碼
      <Resource name="jdbc/myoracle" auth="Container"
      type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
      url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
      username="scott" password="tiger" maxActive="20" maxIdle="10"
      maxWait="-1"/>

      4.2 配置web.xml


      xml 代碼
      <resource-ref>
      <description>Oracle Datasource exampledescription>
      <res-ref-name>jdbc/myoracleres-ref-name>
      <res-type>javax.sql.DataSourceres-type>
      <res-auth>Containerres-auth>
      resource-ref>

      4.3 代碼示例


      java 代碼
      Context initContext = new InitialContext();
      Context envContext = (Context)initContext.lookup("java:/comp/env");
      DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
      Connection conn = ds.getConnection();

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多