欢迎来到天天文库
浏览记录
ID:48262280
大小:31.50 KB
页数:4页
时间:2020-01-20
《J2EE基础:JNDI定义Oracle数据源的方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、定义JNDI数据源的方法如下: 内容提要: 1、介绍 2、数据连接池的配置 3、不使用连接池的解决方案 4、Oracle数据源配置举例 一、总体介绍Introdution 配置JNDI数据源是配置JNDI资源的一个特例,过程和方法都差不多.. 请注意:在Tomcat5.0.x和Tomcat5.5.x版本之间,JNDI资源的配置已经发生了变化,所以,如果你使用的是以上版本需要修改一下配置语法.. 本文假定你已经理解了Context和Host的配置,如果没有,请自行学习.. 二、数据连接池的配置DatabaseConnectionPool(DBCP)
2、Configurations DBCP提供了对JDBC2.0的支持,如果你使用的1.4版本JVM,DBCP将支持JDBC3.0.. 2.1安装Installation DBCP使用Jakarta-CommonsDatabaseConnectionPool,它依赖以下三个包: Jakarta-CommonsDBCP Jakarta-CommonsCollections Jakarta-CommonsPool 在Tomcat的安装目录提供了一个集成的jar包$CATALINA_HOME/lib/tomcat-dbcp.jar.. 三、避免数据连接池泄露P
3、reventingDBconnectionpoolleaks 顾名思义,数据连接池负责创建和管理数据库连接.重用一个已经存在的数据连接要比每次都打开新建(new)一个连接效率高的多.. 但连接池通常个问题:一个Web应用程序需要关闭ResultSet's,Statement's,Connections's等资源.如果应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终如果没有足够的有效的连接,将导致应用程序连接失败. 对于这个问题有个解决方法;Jakarta-Commons的DBCP可以通过配置来跟踪、恢复那些关闭失败的连接.不但可以恢复
4、,而且还可以生成堆栈轨迹.. 为了关闭和重用那个被遗弃的资源,可以在DBCP数据源的资源配置中加入一下属性: removeAbandoned="true" 当有效的数据连接低于DBCP设置的时候,就会重用被遗弃的资源..默认是false; removeAbandonedTimeout="60" 设置被抛弃的数据连接在多少秒之后可以被删除...默认是300秒. logAbandoned="true" 如果想要记录下被抛弃数据连接的堆栈轨迹可以设为true..默认false; 四、Oracle配置举例 Tomcat只能识别*.jar文件,如果数据库驱动
5、为*.zip,则需要修改扩展名为jar..对于Oracle9i应该使用oracle.jdbc.OracleDriver,因为oracle.jdbc.driver.OracleDriver已经不建议使用..将来也不一定支持了.. 4.1配置server.xml6、sid" username="scott"password="tiger"maxActive="20"maxIdle="10" maxWait="-1"/> 4.2配置web.xmlOracleDatasourceexamplejdbc/myoraclejavax.sql.DataSourceContainer 4.3代码示例Context7、initContext=newInitialContext();ContextenvContext =(Context)initContext.lookup("java:/comp/env");DataSourceds=(DataSource)envContext.lookup("jdbc/myoracle");Connectionconn=ds.getConnection();//etc.
6、sid" username="scott"password="tiger"maxActive="20"maxIdle="10" maxWait="-1"/> 4.2配置web.xmlOracleDatasourceexamplejdbc/myoraclejavax.sql.DataSourceContainer 4.3代码示例Context
7、initContext=newInitialContext();ContextenvContext =(Context)initContext.lookup("java:/comp/env");DataSourceds=(DataSource)envContext.lookup("jdbc/myoracle");Connectionconn=ds.getConnection();//etc.
此文档下载收益归作者所有