|
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"); |
|
|
|
|
|
|