<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    [導入]如何在Tomcat中定義JNDI數據源

    Posted on 2007-06-27 13:50 Java.net 閱讀(1089) 評論(0)  編輯  收藏

    網站:JavaEye 作者:jvincent 發表時間: 2007-06-27 13:50 此文章來自于 http://www.JavaEye.com
    聲明:本文系JavaEye網站原創文章,未經JavaEye網站或者作者本人書面許可,任何其他網站嚴禁擅自發表本文,否則必將追究法律責任!
    原文鏈接: http://xzgf.javaeye.com/blog/94619

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


    內容提要:

    1、介紹

    2、數據連接池的配置

    3、不使用連接池的解決方案

    4、Oracle數據源配置舉例


    1、總體介紹 Introdution


    配置JNDI數據源是配置JNDI資源的一個特例,過程和方法都差不多..

    請注意:在Tomcat 5.0.x 和 Tomcat 5.5.x版本之間,JNDI資源的配置已經發生了變化,所以,如果你使用的是以上版本需要修改一下配置語法..

    本文假定你已經理解了Context和Host的配置,如果沒有,請自行學習..


    2、數據連接池的配置 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 避免數據連接池泄露 Preventing DB connection pool leaks

    顧名思義,數據連接池負責創建和管理數據庫連接.重用一個已經存在的數據連接要比每次都打開新建(new)一個連接效率高的多..

    但連接池通常個問題:一個Web應用程序需要關閉ResultSet's,Statement's,Connections's等資源.如果應用程序關閉資源失敗,就是導致這些資源無法在被重用,即數據連接池泄露.最終如果沒有足夠的有效的連接,將導致應用程序連接失敗.

    對于這個問題有個解決方法;Jakarta-Commons的DBCP可以通過配置來跟蹤、恢復那些關閉失敗的連接.不但可以恢復,而且還可以生成堆棧軌跡..

    為了關閉和重用那個被遺棄的資源,可以在DBCP數據源的資源配置中加入一下屬性:


    xml 代碼




    1. removeAbandoned="true"  




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


    xml 代碼




    1. removeAbandonedTimeout="60"  




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


    xml 代碼




    1. logAbandoned="true"  




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


    4、Oracle配置舉例

    Tomcat只能識別*.jar文件,如果數據庫驅動為*.zip,則需要修改擴展名為jar..對于Oracle9i應該使用 oracle.jdbc.OracleDriver,因為 oracle.jdbc.driver.OracleDriver 已經不建議使用..將來也不一定支持了..

    4.1 配置server.xml



    xml 代碼




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


    4.2 配置web.xml


    xml 代碼




    1. <resource-ref>  
    2.  <description>Oracle Datasource exampledescription>  
    3.  <res-ref-name>jdbc/myoracleres-ref-name>  
    4.  <res-type>javax.sql.DataSourceres-type>  
    5.  <res-auth>Containerres-auth>  
    6. resource-ref>  


    4.3 代碼示例


    java 代碼




    1. Context initContext = new InitialContext();   
    2. Context envContext  = (Context)initContext.lookup("java:/comp/env");   
    3. DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");   
    4. Connection conn = ds.getConnection();   
    5. //etc.   


     英文原文地址:tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html 


     


    2007-06-27


    jvincent

     




    《 如何在Tomcat中定義JNDI數據源 》 的評論也很精彩,歡迎您也添加評論。查看詳細 >>

    推薦相關文章:
      IE7下不同用戶會共享同一個session會話的問題
      tomcat 內存溢出問題




    JavaEye推薦
    廣州:夢境網絡公司:薪水+期權誠聘高級人才 C++工程師 和 Java工程師
    北京:高薪誠聘Ruby on Rails高手: 月薪15-25K
    上海:尤恩斯國際集團:誠聘開發工程師
    北京:優秀公司NHNChina招聘:WEB開發,系統管理,JAVA開發, DBA



    文章來源: http://xzgf.javaeye.com/blog/94619

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 中文字幕在线免费看| 添bbb免费观看高清视频| 114级毛片免费观看| 中文字幕亚洲一区二区va在线| 国产亚洲视频在线播放大全| 拔擦拔擦8x华人免费久久| 亚洲精品久久无码av片俺去也| 在线A级毛片无码免费真人| 亚洲国产精品18久久久久久| 在线观看国产情趣免费视频| 黄床大片30分钟免费看| 亚洲国产精品激情在线观看| 精品久久久久久国产免费了| 久久91亚洲人成电影网站| 一级毛片免费观看不卡的| 歪歪漫画在线观看官网免费阅读| 亚洲成人在线免费观看| 性生大片视频免费观看一级| 亚洲夜夜欢A∨一区二区三区| 毛片在线全部免费观看| 亚洲理论片中文字幕电影| 成人激情免费视频| 免费播放国产性色生活片| 亚洲午夜久久久久久久久久| 无码日韩精品一区二区免费暖暖| 亚洲最新黄色网址| 国产无遮挡色视频免费视频 | 久久精品国产亚洲av天美18| 美女内射毛片在线看免费人动物| 亚洲人成电影在线观看网| 手机看片久久国产免费| 两性色午夜视频免费播放| 亚洲欧洲精品视频在线观看| 日本高清免费中文字幕不卡| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲男人av香蕉爽爽爽爽| 免费一级毛片在线播放视频| 亚洲最大福利视频| 国产亚洲成人在线播放va| 免费精品国偷自产在线在线| 色多多www视频在线观看免费|