网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  j2ee基础:jndi定义oracle数据源的方法     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:93次  录入:管理员--2007-11-16  
 

定义jndi数据源的方法如下:

内容提要:

1、介绍

2、数据连接池的配置

3、不使用连接池的解决方案

4、oracle数据源配置举例

一、总体介绍 introdution

配置jndi数据源是配置jndi资源的一个特例,过程和方法都差不多..

请注意:在tomcat 5.0.x 和 tomcat 5.5.x版本之间,jndi资源的配置已经发生了变化,所以,如果你使用的是以上版本需要修改一下配置语法..

本文假定你已经理解了context和host的配置,如果没有,请自行学习..

二、数据连接池的配置 database connection pool(dbcp) configurations

dbcp提供了对jdbc2.0的支持,如果你使用的1.4版本jvm,dbcp将支持jdbc3.0..

2.1 安装 installation

dbcp使用jakarta-commons database connection pool,它依赖以下三个包:

jakarta-commons dbcp

jakarta-commons collections

jakarta-commons pool

在tomcat的安装目录提供了一个集成的jar包 $catalina_home/lib/tomcat-dbcp.jar..

三、避免数据连接池泄露 preventing db connection pool leaks

顾名思义,数据连接池负责创建和管理数据库连接.重用一个已经存在的数据连接要比每次都打开新建(new)一个连接效率高的多..

但连接池通常个问题:一个web应用程序需要关闭resultset's,statement's,connections's等资源.如果应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终如果没有足够的有效的连接,将导致应用程序连接失败.

对于这个问题有个解决方法;jakarta-commons的dbcp可以通过配置来跟踪、恢复那些关闭失败的连接.不但可以恢复,而且还可以生成堆栈轨迹..

为了关闭和重用那个被遗弃的资源,可以在dbcp数据源的资源配置中加入一下属性:

removeabandoned="true"

当有效的数据连接低于dbcp设置的时候,就会重用被遗弃的资源..默认是false;

removeabandonedtimeout="60"

设置被抛弃的数据连接在多少秒之后可以被删除...默认是300秒.

logabandoned="true"

如果想要记录下被抛弃数据连接的堆栈轨迹可以设为true..默认false;

四、oracle配置举例

tomcat只能识别*.jar文件,如果数据库驱动为*.zip,则需要修改扩展名为jar..对于oracle9i应该使用 oracle.jdbc.oracledriver,因为 oracle.jdbc.driver.oracledriver 已经不建议使用..将来也不一定支持了..

4.1 配置server.xml

<resource name="jdbc/myoracle" auth="container"
  type="javax.sql.datasource" driverclassname="oracle.jdbc.oracledriver"
  url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
  username="scott" password="tiger" maxactive="20" maxidle="10"
  maxwait="-1"/>

4.2 配置web.xml

<description>oracle datasource example</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.datasource</res-type>
 <res-auth>container</res-auth>
</resource-ref>

4.3 代码示例

context initcontext = new initialcontext();
context envcontext  = (context)initcontext.lookup("java:/comp/env");
datasource ds = (datasource)envcontext.lookup("jdbc/myoracle");
connection conn = ds.getconnection();
//etc.

 
 
上一篇: 使用jaxb来实现java程序配置的简单方法    下一篇: 利用java的特性建造一个令人瞩目的系统
  相关文档
结合第三方工具工具对weblogic进行调优 11-16
开发j2ee应用程序应遵循的几点基本原则 11-16
java中四种xml解析技术之不完全测试 11-16
java入门(1) 什么是java 11-17
java学习之路全攻略——编程本质论 11-17
惠普、ibm和sap携手发展uddi4j 11-17
使用soap消息调用web services 11-17
5分钟内在fedora linux上安装jdk6/java se 6 11-17
“类”常数分组 11-17
spring阶段性的一点感受 11-17
开发框架:struts 基础介绍及开发流程 01-10
里程碑式的革新—全新j2se 1.5新特性简介 11-17
使用java提供的方法防止ie缓存jsp文件 11-17
corba对象生命周期之实现和内存管理 11-16
java程序员必须要了解的七个开源协议介绍 09-17
scjp认证考试复习笔记 11-17
对等计算实际应用之:网络信任与安全 11-17
applet调用javacomm20-win32api注意事项 11-17
开源项目关于web app的log4j应用 11-17
软件开发成功12法则 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息