jndi配置 :此种配置需要在Tomcat的server.xml中和context.xml中配置数据源,在项目中引用。
需要在tomcat下加入数据库连接的jar包,相关包(ojdbc14;c3p0数据源)
① 、找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源
1 <!-- Global JNDI resources
2 Documentation at /docs/jndi-resources-howto.html
3 -->
4 <GlobalNamingResources>
5 <!-- Editable user database that can also be used by
6 UserDatabaseRealm to authenticate users
7 -->
8 <Resource name="UserDatabase" auth="Container"
9 type="org.apache.catalina.UserDatabase"
10 description="User database that can be updated and saved"
11 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
12 pathname="conf/tomcat-users.xml" />
13 <Resource name="UserDatabase" auth="Container"
14 type="org.apache.catalina.UserDatabase"
15 description="User database that can be updated and saved"
16 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
17 pathname="conf/tomcat-users.xml" />
18
19
20 <Resource auth="Container"
21 description="DB Connection"
22 driverClass="oracle.jdbc.driver.OracleDriver"
23 maxPoolSize="20"
24 minPoolSize="5"
25 acquireIncrement="5"
26 maxIdleTime="300"
27 idleConnectionTestPeriod="60"
28 automaticTestTable="Test"
29 acquireRetryAttempts="30"
30 breakAfterAcquireFailure="true"
31 name="jdbc/ADbSource"
32 user="A"
33 password="A"
34 factory="org.apache.naming.factory.BeanFactory"
35 type="com.mchange.v2.c3p0.ComboPooledDataSource"
36 jdbcUrl="jdbc:oracle:thin:@ip1:port1:DBname1" />
37
38
39 <Resource auth="Container"
40 description="DB Connection"
41 driverClass="oracle.jdbc.driver.OracleDriver"
42 maxPoolSize="20"
43 minPoolSize="5"
44 acquireIncrement="5"
45 maxIdleTime="300"
46 idleConnectionTestPeriod="60"
47 automaticTestTable="Test"
48 acquireRetryAttempts="30"
49 breakAfterAcquireFailure="true"
50 name="jdbc/BDbSource"
51 user="B"
52 password="B"
53 factory="org.apache.naming.factory.BeanFactory"
54 type="com.mchange.v2.c3p0.ComboPooledDataSource"
55 jdbcUrl="jdbc:oracle:thin:@ip2:post2:DBname2" />
56
57 </GlobalNamingResources>
②、找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用
1 <!-- The contents of this file will be loaded for each web application -->
2 <Context>
3 <!-- Default set of monitored resources. If one of these changes, the -->
4 <!-- web application will be reloaded. -->
5 <WatchedResource>WEB-INF/web.xml</WatchedResource>
6 <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
7 <!-- Uncomment this to disable session persistence across Tomcat restarts -->
8 <!--
9 <Manager pathname="" />
10 -->
11
12 <ResourceLink name="jdbc/ADbSource" global="jdbc/ADbSource" type="javax.sql.DataSource"/>
13 <ResourceLink name="jdbc/BDbSource" global="jdbc/BDbSource" type="javax.sql.DataSource"/>
14 </Context>
③、在项目中对配置的数据源进行引用
1 adb.jndi.name=java\:comp/env/jdbc/ADbSource
2 bdb.jndi.name=java\:comp/env/jdbc/BDbSource
3 root.jndi.name=java\:comp/env/jdbc/ADbSource
4 null.jndi.name=java\:comp/env/jdbc/dataSourceDB