1. 程式人生 > >tomcat配置多個數據源

tomcat配置多個數據源

應用場景:

               公司tomcat伺服器中執行著多個工程,工程連結的mysql資料庫不同,所以每個工程的Spring總配置檔案中都配置了資料來源。

需求:   將資料來源統一拿到tomcat中配置。

             本來指派給本人,由於開發任務比較緊,且百度的東西很亂,再就是隻寫配置不寫怎麼集合到MVC工程使用,一時半會沒整理。暫時推遲了兩天,然後,今天同事突然配置完了,還寫了完整的文件。鄙人懷著感激涕零的心情,把他的文件,從頭到尾,抄了過來~

配置步驟:

作者:皮皮龍(同事):

1、tomact路徑下找到conf資料夾下中的server.xml,context.xml

兩個xml檔案。

2、server.xml檔案中<Service>標籤裡面加上以下配置(紅色部分為tomcat路徑)

<!-- 配置debt_system資料庫-->

<Context path="/DebtProServices" docBase="D:/webapps/DebtProServices" reloadable="true">

</Context>

<!-- 配置debt_user資料庫-->

<Context path="/UserProServices" docBase="D:/webapps/UserProServices

" reloadable="true">

</Context>

3、context.xml檔案中<Context>標籤裡面加上以下配置(黃色底色為資料來源name紅色部分為資料庫基本配置)

<!-- 配置debt_system資料庫-->

<Resource name="jdbc/DebtProServices" auth="Container" type="javax.sql.DataSource"

               driverClassName="com.mysql.jdbc.Driver"               url="jdbc:mysql://192.168.0.35:3306/debt_system?useUnicode=true&characterEncoding=utf-8"

username="root" password="密碼" maxActive="100"  maxIdle="30"/>

<!-- 配置debt_user資料庫-->

<Resource name="jdbc/UserProServices" auth="Container" type="javax.sql.DataSource"

               driverClassName="com.mysql.jdbc.Driver"               url="jdbc:mysql://192.168.0.35:3306/debt_user?useUnicode=true&characterEncoding=utf-8"

username="root" password="密碼" maxActive="100"  maxIdle="30"/>

4、tomcat路徑下找到lib資料夾加入檔案(資料庫連線驅動,用自己專案中的即可),這裡添加了mysql-connector-java-5.1.44-bin.jar

5、web工程下找到WebRoot/WEB-INF下找到applicationSpringContext.xml,在配置檔案中新增以下配置,(紅色部分為資料來源name

<!-- 連結tomcat 資料庫連線池 start-->

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="java:comp/env/jdbc/DebtProServices"/>

</bean>

<!-- jdbcTemplate -->

<bean id="jdbcTemplate"

        class="org.springframework.jdbc.core.JdbcTemplate">

<property name="dataSource" ref="dataSource" />

</bean>

<!-- 連結tomcat 資料庫連線池 end-->