月亮的太陽

          小乖的BLOG
          posts - 114, comments - 41, trackbacks - 0, articles - 27
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          tomcat5.5.20連接池DBCP、C3P0配置(含官方配置)

          Posted on 2006-12-12 15:41 月亮的太陽 閱讀(4222) 評論(0)  編輯  收藏 所屬分類: 編程

          DBCP:
          第一種方法:修改$CATALINA_HOME\conf\server.xml,在<GlobalNamingResources>中添加:
          <Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
                        maxActive="100" maxIdle="30" maxWait="200"
                        driverClassName="@DB-DRIVERNAME@"
                        username="@DB-USERNAME@" password="@DB-PASSWORD@"
                        url="@DB-URL@"
                        defaultAutoCommit="true" removeAbandoned="true"
                        removeAbandonedTimeout="60" logAbandoned="true"/>

          然后在$CATALINA_HOME\conf\Catalina\localhost,創建應用相關的*.xml文件,在此文件的<context>中添加:
          <ResourceLink
              global="jdbc/dsname"
              name="jdbc/dsname"
              type="javax.sql.DataSourcer"/>

          第二種方法:直接在$CATALINA_HOME\conf\Catalina\localhost,創建應用相關的*.xml文件,在此文件的<context>中添加:
          <Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
                        maxActive="100" maxIdle="30" maxWait="200"
                        driverClassName="@DB-DRIVERNAME@"
                        username="@DB-USERNAME@" password="@DB-PASSWORD@"
                        url="@DB-URL@"
                        defaultAutoCommit="true" removeAbandoned="true"
                        removeAbandonedTimeout="60" logAbandoned="true"/>

          還有一種是官方配置:
          1.修改$CATALINA_HOME\conf\server.xml,Context對應你的web應用的目錄名,放到<host>中間:
          <Context docBase="test" path="/test" debug="5" reloadable="true" crossContext="true">
              <Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
                        maxActive="100" maxIdle="30" maxWait="200"
                        driverClassName="@DB-DRIVERNAME@"
                        username="@DB-USERNAME@" password="@DB-PASSWORD@"
                        url="@DB-URL@"
                        defaultAutoCommit="true" removeAbandoned="true"
                        removeAbandonedTimeout="60" logAbandoned="true"/>
          </Context>
          2.在你的WEB應用的web.xml中添加:
          <resource-ref>
                <description>DB Connection</description>
                <res-ref-name>jdbc/dsname</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
            </resource-ref>

          第一種和第三種差不多,第一種第一段其實就是用http://localhost:8080/admin添加DataSource后生成的,要多寫一個WEB應用相關的XML來綁定連接池,第三種把這個文件集成到了server.xml中,和連接池的綁定交給了web.xml,但共同不方便的是如果TOMCAT下有多個應用,在開發中可能有的應用是不需要啟動的,那你就要去修改server.xml.
          第二種方法的優點也正是另外兩種方法的缺點,個人比較喜歡第二種方法,一個是TOMCAT版本更換比較方便,是的之前備份應用相關XML就可以了;二是如果不需要啟動不相關的應用直接把文件名改一下,比如說加個.bak后綴就可以了.



          C3P0:

          因為TOMCAT自帶的DBCP有很多BUG,所有有時會使用C3P0來替代,配置方法和上邊的結構基本一樣,注意幾個參數名稱不一樣就可以了,另外還要把C3P0的JAR包放到classpath

          <Resource name="jdbc/name" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource"
                        maxPoolSize="30" minPoolSize="1" initialPoolSize="5" acquireIncrement="2"
                        idleConnectionTestPeriod="60" maxIdleTime="60"
                        driverClass="@DB-DRIVERNAME@"
                        user="@DB-USERNAME@" password="@DB-PASSWORD@"
                        jdbcUrl="@DB-URL@"
                        factory="org.apache.naming.factory.BeanFactory"/>


          其實還有其它的方法,另外需要注意的一點是數據庫相關的JDBC驅動要放到$CATALINA_HOME\common\lib下邊,不然會class not found!

           

          主站蜘蛛池模板: 永德县| 汕尾市| 闻喜县| 囊谦县| 宝清县| 攀枝花市| 中西区| 晋州市| 松原市| 南部县| 双桥区| 兖州市| 中山市| 巴林右旗| 桑日县| 三江| 博白县| 闽清县| 志丹县| 浦东新区| 达尔| 西乌珠穆沁旗| 剑川县| 赣州市| 阿鲁科尔沁旗| 秀山| 喀什市| 旌德县| 广饶县| 大渡口区| 东方市| 聂荣县| 昭平县| 鹤山市| 绥宁县| 峡江县| 长治市| 西林县| 乌拉特后旗| 庄河市| 格尔木市|