最近在整理項目上的配置文件,正好看到了數據源配置,想着配置方式有多種,便趁熱打鐵,記錄下常規的Tomcat配置數據源的方式
1.單個工程配置
找到Tomcat下的server.xml文件,在Context節點下,添加一個私有數據源
<Context docBase="TestApp" path="/TestApp" reloadable="true" source="org.eclipse.jst.jee.server:TestApp"> <Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" /> </Context>
這種配置方式雖然簡單,但是重用性差
2.配置全局JNDI,並應用到單個項目上
第一步,找到Tomcat的server.xml中GlobalNamingResources節點,在該節點中添加一個全局JNDI配置
<Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" />
第二步,在server.xml中,找到此項目的Context節點,增加對全局數據源的引用Resource
<Context docBase="TestApp" path="/TestApp" reloadable="true"> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> </Context>
此方法雖然可控,但還是得針對每個項目具體配置
3.配置全局JNDI數據源,應用到所有Tomcat下的應用中
第一步:參考第二種的第一步
第二步:在Tomcat的context.xml文件的Context節點下,加一個ResourceLink節點,並對第一步配置的數據源進行引用
<Context> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Context>