tomcat5.0与tomcat5.5的数据库连接池jndi配置区别

在tomcat5.5版本以前,可以说jndi配置相对是比较复杂的,而且据网友说用tomcat5.0的控制台配置数据库连接池经常有问题,而且文档写得又不详细。

tomcat5.5出来后,jndi的配置方法是大大地节省,而且很简洁,个人觉得比以前的版本好很多。这里大概给出一个配置例子。tomcat数据库连接池jndi配置有两种,一种是全局的,一种是context的,下面主要是讲全局的,并且以一个实例jdbc/byisdb为例子
   
一、tomcat5.0配置方法

1、首先在server.xml里面配置,找到下面的配置
  <!-- Global JNDI resources -->
  <GlobalNamingResources>
 </GlobalNamingResources>

2、在里面增加一个Resource
       < Resource name = " jdbc/byisdb "
               auth
= " Container "
               type
= " javax.sql.DataSource " />


3、在下面增加属性

   < ResourceParams name = " jdbc/byisdb " >
    
< parameter >
      
< name > factory </ name >
      
< value > org.apache.commons.dbcp.BasicDataSourceFactory </ value >
    
</ parameter >

    
<!--  Maximum number of dB connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 
0   for  no limit.
         
-->
    
< parameter >
      
< name > maxActive </ name >
      
< value > 100 </ value >
    
</ parameter >

    
<!--  Maximum number of idle dB connections to retain in pool.
         Set to 
- 1   for  no limit.  See also the DBCP documentation on  this
         and the minEvictableIdleTimeMillis configuration parameter.
         
-->
    
< parameter >
      
< name > maxIdle </ name >
      
< value > 30 </ value >
    
</ parameter >

    
<!--  Maximum time to wait  for  a dB connection to become available
         in ms, in 
this  example  10  seconds. An Exception is thrown  if
         
this  timeout is exceeded.  Set to  - 1  to wait indefinitely.
         
-->
    
< parameter >
      
< name > maxWait </ name >
      
< value > 10000 </ value >
    
</ parameter >

    
<!--  MySQL dB username and password  for  dB connections   -->
    
< parameter >
     
< name > username </ name >
     
< value > una_oa </ value >
    
</ parameter >
    
< parameter >
     
< name > password </ name >
     
< value > una_oa </ value >
    
</ parameter >

    
<!--  Class name  for  the old mm.mysql JDBC driver  -  uncomment  this  entry and comment next
         
if  you want to use  this  driver  -  we recommend using Connector / J though
    
< parameter >
       
< name > driverClassName </ name >
       
< value > org.gjt.mm.mysql.Driver </ value >
    
</ parameter >
     
-->
    
    
<!--  Class name  for  the official MySQL Connector / J driver  -->
    
< parameter >
       
< name > driverClassName </ name >
       
< value > oracle.jdbc.driver.OracleDriver </ value >
    
</ parameter >
    
    
<!--  The JDBC connection url  for  connecting to your MySQL dB.
         The autoReconnect
= true  argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect 
if  mysqld closed the
         connection.  mysqld by 
default  closes idle connections after  8  hours.
         
-->
    
< parameter >
      
< name > url </ name >
      
< value > jdbc:oracle:thin:@ 192.168 . 1.210 : 1521 :byisdb </ value >
    
</ parameter >
  
</ ResourceParams >

4、在你的应用的web.xml里面增加
< resource - ref >
 
< description > postgreSQL Datasource example </ description >
 
< res - ref - name > jdbc / byisdb </ res - ref - name >
 
< res - type > javax.sql.DataSource </ res - type >
 
< res - auth > Container </ res - auth >
</ resource - ref >

OK,到此配置完毕,可以用下面的几段代码进行测试

Context initContext  =   new  InitialContext();
Context envContext  
=  (Context)initContext.lookup( " java:/comp/env " );
DataSource ds 
=  (DataSource)envContext.lookup( " jdbc/byisdb " );
Connection conn 
=  ds.getConnection();
out.println(
" conn is: " + conn);

二、tomcat5.5配置

1、打开conf/context.xml里面
  添加下面的配置

     < Resource  name ="jdbc/byisdb"  auth ="Container"  type ="javax.sql.DataSource"  driverClassName ="oracle.jdbc.driver.OracleDriver"  url ="jdbc:oracle:thin:@192.168.1.210:1521:byisdb"  username ="una_oa"  password ="una_oa"  maxActive ="20"  maxIdle ="10"  maxWait ="10000" />

 

2在你的应用的web.xml里面增加

< resource - ref >
 
< description > postgreSQL Datasource example </ description >
 
< res - ref - name > jdbc / byisdb </ res - ref - name >
 
< res - type > javax.sql.DataSource </ res - type >
 
< res - auth > Container </ res - auth >
</ resource - ref >

同样,可以用上面的代码进行测试。  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值