Tomcat數據庫連接池估計現在使用的不多了,現在都是DBCP,C3P0之類的,在很多軟件項目中,dbcp,c3p0確實很好,配置一下隨便用,使用Tomcat連接池可能不是很方便;但后來發現,在分布式服務器或者分庫中使用Tomcat數據庫連接池確實不錯,可以一次啟動打開不同庫上的連接池;
以下是配置文件,conf下的server.xml文件(原來內容全部清除)
< Server port ="8005" shutdown ="SHUTDOWN" >
< GlobalNamingResources >
< Resource auth ="Container" driverClassName ="org.gjt.mm.mysql.Driver" maxActive ="200" maxIdle ="30" maxWait ="10000" name ="jdbc/table" removeAbandoned ="true" removeAbandonedTimeout ="60" type ="javax.sql.DataSource" url ="jdbc:mysql://122.207.1.1:3306/table?autoReconnect=true" username ="root" password ="root" />
< Resource auth ="Container" driverClassName ="org.gjt.mm.mysql.Driver" maxActive ="200" maxIdle ="30" maxWait ="10000" name ="jdbc/tablelog" removeAbandoned ="true" removeAbandonedTimeout ="60" type ="javax.sql.DataSource" url ="jdbc:mysql://122.207.1.1:3306/table_log?autoReconnect=true" username ="root" password ="root" />
< Resource auth ="Container" driverClassName ="org.gjt.mm.mysql.Driver" maxActive ="200" maxIdle ="30" maxWait ="10000" name ="jdbc/tableR1" removeAbandoned ="true" removeAbandonedTimeout ="60" type ="javax.sql.DataSource" url ="jdbc:mysql://122.207.1.1:3306/table_main?autoReconnect=true" username ="root" password ="root" />
< Resource auth ="Container" driverClassName ="org.gjt.mm.mysql.Driver" maxActive ="200" maxIdle ="30" maxWait ="10000" name ="jdbc/tableR2" removeAbandoned ="true" removeAbandonedTimeout ="60" type ="javax.sql.DataSource" url ="jdbc:mysql://122.207.1.1:3306/table_main?autoReconnect=true" username ="root" password ="root" />
</ GlobalNamingResources >
< Service name ="Catalina" >
< Connector port ="80" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" />
< Engine name ="Catalina" defaultHost ="localhost" >
< Host name ="localhost" appBase ="webapps" unpackWARs ="true" autoDeploy ="true" xmlValidation ="false" xmlNamespaceAware ="false" >
< Context docBase ="E:\Workspaces\MyEclipse8.6\myproject\WebRoot" path ="" reloadable ="false" >
< ResourceLink global ="jdbc/table" name ="jdbc/table" type ="javax.sql.DataSource" />
< ResourceLink global ="jdbc/tablelog" name ="jdbc/tablelog" type ="javax.sql.DataSource" />
< ResourceLink global ="jdbc/tableR1" name ="jdbc/tableR1" type ="javax.sql.DataSource" />
< ResourceLink global ="jdbc/tableR2" name ="jdbc/tableR2" type ="javax.sql.DataSource" />
</ Context >
</ Host >
</ Engine >
</ Service >
</ Server >
這里總共有4個庫,當然這些庫不一定只在一臺機器上,可以通過Resource節點下的url來指定,這里全是是本地的庫,還要把mysql的連接包放入Tomcat下的lib目錄中;
這里的Context節點配置了這個Tomcat容器只能為myproject這個工程使用,可以不用部署,直接啟動Tomcat即可,這樣可以加快啟動速度,在Tomcat啟動同時,數據庫
連接也被打開,我們只需要在jav工程中讀取連接即可
連接形式如下:
DataSource?datesource1="java:comp/env/jdbc/table"
DataSource?datesource2="java:comp/env/jdbc/tablelog"
DataSource?datesource3="java:comp/env/jdbc/tableR1"
DataSource?datesource4="java:comp/env/jdbc/tableR2"
這樣就可以在一個工程中獲取多個數據庫的連接;確實很強大;
關于Tomcat的server.xml的各個節點于屬性的意思這里就不再多說了,大家從字面意思上就可以了解
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
