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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

