Tomcat5.5x+jndi配置

1、配置Tomcat5. 5.X的Server.xml,在<host>下面加上: 

<Context path= " /JNDIDemo " docBase= " D:\workspace\JNDIDemo\WebRoot " debug= " 0 " reloadable= " true " crossContext= " true "
<Logger className= " org.apache.catalina.logger.FileLogger " prefix= " localhost_quality_log. " suffix= " .txt " timestamp= " true "/> 
<Resource 
name= " jdbc/test " <!-- JNDI数据池名称 --> 
type= " javax.sql.DataSource " <!-- 数据类 --> 
password= " karid " <!-- 密码 --> 
driverClassName= " oracle.jdbc.driver.OracleDriver " <!-- 驱动 --> 
maxIdle= " 2 " <!-- 最少可用lia --> 
maxWait= " 5000 " <!-- 最大等待时间 5秒 --> 
username= " karid " <!-- 用户名 --> 
url= " jdbc:oracle:thin:@127.0.0.1:1521:karid " 
maxActive= " 4 " <!-- 最大可用连接 --> /> 

<ResourceParams name= " jdbc/test "

<parameter> 
<name>removeAbandoned</name> 
<!-- Abandoned DB connections are removed and recycled --> 
<value> true</value> 
</parameter> 
<parameter> 
<name>removeAbandonedTimeout</name> 
<!-- Use the removeAbandonedTimeout parameter to  set the number of seconds a DB connection has been idle before it  is considered abandoned. --> 
<value> 60</value> 
</parameter> 
<parameter> 
<name>logAbandoned</name> 
<!-- Log a stack trace of the code which abandoned --> 
<value> false</value> 
</parameter> 

<parameter> 
<name>factory</name> 
<!--DBCP Basic Datasource Factory --> 
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
</parameter> 

</ResourceParams> 



2、配置web.xml

<description>MySQL Test App</description> 
<resource- ref
<description>DB Connection</description> 
<res- ref-name>jdbc/test</res- ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource- ref

3、JNDI使用

public  class DataSourceFactory 

private  static DataSource ds; 
public  static DataSource createDataSourde() 

if (ds ==  null

try 

Context initContext =  new InitialContext(); 
if (initContext ==  null
System. out.println( " 无配置环境 "); 
Context envContext = (Context) initContext.lookup( " java:/compenv "); 
ds = (DataSource) envContext.lookup( " jdbc/test ");  // 根据名称取得数据源 

catch (NamingException e) 

e.printStackTrace(); 


return ds; 

}

你可能感兴趣的:(tomcat)