首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>J2EE>正文

[J2EE] JNDI定义Oracle数据源的方法

http://www.oklinux.cn  2008-01-20  ccidnet baocl  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

定义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应用程序需要关闭ResultSets,Statements,Connectionss等资源.假如应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终假如没有足够的有效的连接,将导致应用程序连接失败.

对于这个问题有个解决方法;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


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


Oracle Datasource example
jdbc/myoracle
javax.sql.DataSource
Container




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.


上一篇:J2EE基础:步入J2EE架构和过程   下一篇:J2EE:教你提升JSP应用程序的七大绝招

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·J2EE:教你提升JSP应用程序的七大绝招
·J2EE基础:步入J2EE架构和过程
·J2EE--关于JAVA的分页查询操作技术
·J2EE基础:开发第一个分布式的j2ee应用
·J2EE基础:几种Portal技术的比较与评述
·J2EE基础:Spring中事件处理的小技巧
·J2EE基础:在Struts 2中实现文件上传
·J2EE基础:web开发需要注意的一些地方
·J2EE基础:为什么jsp不能取代servlet?
·J2EE基础:Servlet/JSP服务器端的重定向
·J2EE基础--weblogic的几个基础问题
·J2EE:用RMI和CORBA进行分布式Java编程
·J2EE基础:j2ee所包含的13种核心技术
·solaris上开发J2EE应用中文问题的解决
·J2EE基础:Spring的MVC模型运行序列分析
·J2EE--关于用JAVA开发短信方面的知识
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java GUI中关于布局管理器的使用方法介
·Java编程交互管理工具:SecureJSH新特
·J2SE综合技术:使用Java网络启动部署软
·Java技术社区杂文 J2EE开发框架发展简
·J2EE基础:Java EJB容器存取和实现的说
·Java编程:实例分析J2ME网络编程的两种
·关于Java编程语言中EJB容器存取和实现
·J2EE中用RMI和CORBA进行分布式Java编程
·Java编程技巧 J2ME中应用程序的内存优
·介绍JSP中表单数据存储应用的一种通用
·J2EE中的业务逻辑和数据库访问决策说明
·深入讲解JSP 2.0下的动态内容缓存技术
  阅读排行
·J2EE基础:几种Portal技术的比较与评述
·J2EE 组件开发:什么是消息驱动的EJB
·J2EE综合:Struts上传多个文件的例子
·J2EE综合--关于权限设计的详细探讨
·J2EE综合--JAVA开发工具安装配置心得
·J2EE--关于JAVA的分页查询操作技术
·J2EE基础:在Struts 2中实现文件上传
·数据库相关--Hibernate的事务和并发
·Java源码分析:深入探讨Iterator模式
·J2EE基础:j2ee所包含的13种核心技术
·对J2EE开发中常用开源项目的介绍
·J2EE基础:Weblogic服务器体系结构介绍
·datatable动态添加列应当如何来实现
·J2EE综合--Java企业系统架构选择考量
·JSP/Servlet:J2EE开发环境配置个人总结
网摘收藏: