tomcat下JNDI数据源的配置

JNDI(Java Naming Directory Interface)
1.通过DataSource的名字查找对应的DataSource;

2.通过一个DataSource在连接池中获得一个Connection;


一,全局数据源的配置(配置了一个数据源后任何web应用都能使用)此方法没验证过

(1)将数据库的驱动程序复制到tomcat\lib中;


(2)在server.xml中加入: 
 

<Context path="/Test" docBase="E:\JAVA WEB" reloadable="true">    <!-- 数据源需要在Context中配置-->
   <Resource name="jdbc/xiazdong"                                    <!-- 数据源名称-->
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"                                        <!-- 最大连接数-->
    maxIdle="30"                                            <!-- 最小连接数-->
    maxWait="10000"                                    <!-- 最大等待时间-->
    username="root"
    password="123456"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/xiazdong"/>
  </Context>


 
(3)在web.xml中加入:

<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/xiazdong</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>


 


二,局部数据源配置

1,将数据库的驱动程序复制到tomcat\lib中;
2,在web应用根目录的meta-inf目录下新建context.xml文件,配置自己所需的数据源。可同时配置多个。

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/ipnet">
	<Resource name="jdbc/ResourceManager" auth="Container"
		type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000"
		username="rm" password="rm1234" driverClassName="oracle.jdbc.driver.OracleDriver"
		removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
		url="jdbc:oracle:thin:@192.168.22.6:1521:orcl" />
	<Resource name="jdbc/AlarmDb" auth="Container" type="javax.sql.DataSource"
		maxActive="100" maxIdle="30" maxWait="10000" username="fm5" password="fm51234"
		driverClassName="oracle.jdbc.driver.OracleDriver" removeAbandoned="true"
		removeAbandonedTimeout="60" logAbandoned="true"
		url="jdbc:oracle:thin:@192.168.22.6:1521:orcl" />
	<Resource name="jdbc/PerformanceDb" auth="Container"
		type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000"
		username="nhm" password="nhm1234" driverClassName="oracle.jdbc.driver.OracleDriver"
		removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
		url="jdbc:oracle:thin:@192.168.22.6:1521:orcl" />
</Context>

 
最后在代码中引用即可: 

 Context ctx = new InitialContext();
dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/ResourceManager");

猜你喜欢

转载自xaocaotanghui.iteye.com/blog/1402118