Tomcat JNDI configuration
通常我们 web 项目都需要连DB,都会有 META-INF 下 context.xml 文件:
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" path="/test" docBase="test" debug="0" reloadable="false">
</Context>
另外 Catalina .base/conf 下有 server.xml 中配置 JNDI Resource:
<Resource name="jdbc/test"
auth="Container" type="javax.sql.DataSource"
username="test" password="pass"
driverClassName="com.inet.ora.OraDriver"
url="jdbc:inetora:localhost:testdb"
initialSize="10" maxActive="50" maxIdle="10" maxWait="10000"
connectionProperties="streamstolob=true"
testOnBorrow="true" timeBetweenEvictionRunsMillis="300000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
validationQuery="select 1 from dual"/>
Catalina .base/conf/context.xml 中也可以添加 Resource ,以及 ResourceLink :
<Resource name="jdbc/test"
auth="Container" type="javax.sql.DataSource"
username="test" password="pass"
driverClassName="com.inet.ora.OraDriver"
url="jdbc:inetora:localhost:testdb"
initialSize="10" maxActive="50" maxIdle="10" maxWait="10000"
connectionProperties="streamstolob=true"
testOnBorrow="true" timeBetweenEvictionRunsMillis="300000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
validationQuery="select 1 from dual"/>
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
web application deployment on tomcat:
- 删除 META -INF/context.xml, 在 Catalina .base/conf/context.xml 中添加 JNDI Resource and ResourceLink ( 推荐使用 )
- 删除 META-INF/context.xml, 在 Catalina.base/conf/server.xml 中配置 JNDI Resource, 在 Catalina.base/conf/context.xml 中添加 ResourceLink
- 保留项目里 META -INF/context.xml ,在 Catalina .base/conf/ 中的 server.xml 或 context.xml 中添加 JNDI Resource.
- 移动 META -INF/context.xml 到 Catalina .base/conf/ Catalina / localhost 中,并改名为项目名 .xml, 如 test.xml, 在 Catalina .base/conf/server.xml or context.xml 中配置 JNDI Resource