多重專案共用 一個串連池

來源:互聯網
上載者:User

http://seefan.3322.org/article/showArticle_4190.html

 

一個tomcat下有多重專案,每個項目都有一個串連池,這樣資源很是浪費,所有決定讓多重專案共用串連池,研究了半天,才搞明白,e文不好,資料也不是很準確。。。。

注意:本文在windows下的tomcat5.5測試通過,linux下還可能會有奇怪的問題歡迎一起交流。

1、在tomcat下的server.xml的GlobalNamingResources下加入共用的串連池,我這裡用的是apache的dbcp,開始也用了proxool的串連池,但總是報log版本的問題,所以棄用。

例:

 

 <GlobalNamingResources>
<Resource
    name="jdbc/dbcp/orcl/test"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="20"
    maxIdel="10"
    maxWait="500"
    username="test"
    password="test"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    url="jdbc:oracle:thin:@127.0.0.1:1521:test" /> 
<GlobalNamingResources>

2、在web項目的的META-INF目錄下加入一個Context.xml檔案,內容為

<Context reloadable="true" crossContext="true">
 <ResourceLink name="jdbc/orcl" global="jdbc/dbcp/orcl/test"
  type="java.sql.DataSource">
 </ResourceLink>
</Context>

其實就是加了一個指向公用串連池的串連,這樣,這個項目下就可以串連公用的串連池了。

3、在hibernate的設定檔裡加入以下幾行

<property name="hibernate.connection.datasource">java:comp/env/jdbc/orcl</property>

<property name="connection.provider_class">
   org.hibernate.connection.DatasourceConnectionProvider
  </property>

這樣hibernate項目就可以用公用的串連池了。

配置上走了一些彎路,記下來和大家分享一下,原創哦,如用引用,請給出本文串連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.