Tomcat數(shù)據(jù)庫連接池估計(jì)現(xiàn)在使用的不多了,現(xiàn)在都是DBCP,C3P0之類的,在很多軟件項(xiàng)目中,dbcp,c3p0確實(shí)很好,配置一下隨便用,使用Tomcat連接池可能不是很方便;但后來發(fā)現(xiàn),在分布式服務(wù)器或者分庫中使用Tomcat數(shù)據(jù)庫連接池確實(shí)不錯(cuò),可以一次啟動(dòng)打開不同庫上的連接池;
以下是配置文件,conf下的server.xml文件(原來內(nèi)容全部清除)
< 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個(gè)庫,當(dāng)然這些庫不一定只在一臺(tái)機(jī)器上,可以通過Resource節(jié)點(diǎn)下的url來指定,這里全是是本地的庫,還要把mysql的連接包放入Tomcat下的lib目錄中;
這里的Context節(jié)點(diǎn)配置了這個(gè)Tomcat容器只能為myproject這個(gè)工程使用,可以不用部署,直接啟動(dòng)Tomcat即可,這樣可以加快啟動(dòng)速度,在Tomcat啟動(dòng)同時(shí),數(shù)據(jù)庫
連接也被打開,我們只需要在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"
這樣就可以在一個(gè)工程中獲取多個(gè)數(shù)據(jù)庫的連接;確實(shí)很強(qiáng)大;
關(guān)于Tomcat的server.xml的各個(gè)節(jié)點(diǎn)于屬性的意思這里就不再多說了,大家從字面意思上就可以了解
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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