Tomcat6.0 连接池的配 ora10g


1.本人当前使用的Tomcat版本为:6.0.20,oracle为稳定的ora10g版本

2.下文为方便起见,依习惯以%Tomcat_Home%表示Tomcat安装的目录,本人安装目录为“D:\Program Files\tomcat6”

配置步骤如下:

1.Tomcat 6的配置和以前的不同,不推荐在server.xml中进行配置,
而是在%Tomcat_Home%\webapps\your_App\META-INF \context.xml中进行配置才是更好的方法。
而不是以前版本%Tomcat_Home%\conf下的context.xml文件。这样就可以在不同的web应用下单独配置连接池了,
且Tomcat会自动重载。当然你也可以更改%Tomcat_Home%\conf下的context.xml文件,将所有web应用下的连接池进行统一配置。





TomCat6.0数据库连接池配置有几种方式,在这里我介绍一种常用的方法供大家参考:  


配置过程分成三个步骤来完成:  


第一步:在TomCat6.0的目录下找到context.xml配置文件。
(例如:tomcat6\conf\context.xml或者webapps\your_App\META-INF \context.xml)然后打开context.xml,
在标签<context></<context>之间加入如下内容:


<Resource  
name="jdbc/oracleds"  
auth="Container"      
type="javax.sql.DataSource"   
driverClassName="oracle.jdbc.OracleDriver"   
url="jdbc:oracle:thin:@localhost:1521:ora10g"
username="admin"   
password="admin"   
maxIdle="5"    
maxWait="5000" 
maxActive="10"
removeAbandoned="true"/>  


参数说明: 
name: 数据源名称,最好起一个有意义的名称
type:  默认
driveClassName:JDBC驱动类的完整的名称; 
maxActive:同时能够从连接池中被分配的可用实例的最大数; 
maxIdle:可以同时闲置在连接池中的连接的最大数;
minIdle: 连接池中最少空闲maxIdle个连接 
initialSize: 初始化连接数目 
maxWait:最大超时时间,以毫秒计; 
password:登陆数据库的密码; 
url:到JDBC的URL连接;例如:url="jdbc:oracle:thin:@localhost:1521:ora10g" <其中url="jdbc:oracle:thin:@"是固定的,如果访问oracle数据库不在本机上应该将localhost改为oracle数据库所在机子的IP地址,zygora是我的oracle数据库的SID>  
username:登陆数据库的用户名; 
validationQuery:用来查询池中空闲的连接。 
removeAbandoned : true,false,是否自动回收removeAbandonedTimeout秒没有使用的活动连接,清理后并没有放回连接池 
auth :为验证方式
removeAbandonedTimeout:活动连接的最大空闲时间 
logAbandoned: true,false,连接池收回空闲的活动连接时是否打印消息
acquireRetryAttempts:获取连接失败后,重新尝试的次数 
acquireRetryDelay: 尝试连接间隔时间,毫秒 


附:MYSql  driverClassName : driverClassName="com.mysql.jdbc.Driver" 


2.配置 \webapps\your_App\WEB-INF的web.xml中 <web-app>和 </web-app>之间加入: 
 <resource-ref>
  <description>Database Source</description> 
  <res-ref-name>jdbc/NRMS</res-ref-name> 
  <res-type>javax.sql.DataSource</res-type> 
  <res-auth>Container</res-auth> 
  </resource-ref>


<description>:被引用资源的描述;
<res-ref-name>:资源名称;(name="jdbc/oracleds")
<res-type>:    对应type="javax.sql.DataSource" 
<res-auth>: 对应auth=Container 

第二步:拷贝到TomCat6.0目录下的lib目录里。
将D:\oracle\product\10.2.0\db_1\jdbc\lib中classes12.jar、ojdbc14.jar 拷贝tomcat6\lib 下


第三步:程序中需要数据库连接的地方,只需要编写如下代码: 
import javax.sql.DataSource;  
import javax.naming.*; 
public class GetConnectionTest  
{  
public static void main(String[] args)  
{  
try {  
Context ctx = new InitialContext();  
DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds"); 
/* 
 DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/oracleds"); 
*/ 
Connection conn = ds.getConnection();  
} catch (Exception e) {  
e.printStackTrace();  
}  
}  
}





参考:


a.   如果设为true则tomcat自动检查恢复重新利用,没有正常关闭的Connection.(默认是false)
  <parameter>
  <name>removeAbandoned</name>
  <value>true</value>
  </parameter>
b.   设定连接在多少秒内被认为是放弃的连接,即可进行恢复利用。
  <parameter>
  <name>removeAbandonedTimeout</name>
  <value>60</value>
  </parameter>
c.   输出回收的日志,可以详细打印出异常从而发现是在那里发生了泄漏
  <parameter>
  <name>logAbandoned</name>
  <value>true</value>
  </parameter>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值