首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

怎么在Tomcat中定义JNDI数据源

2012-10-31 
如何在Tomcat中定义JNDI数据源如何定义JNDI数据源 (抽取翻译了一下Tomcat文档的JNDI数据源的部分,不对的地

如何在Tomcat中定义JNDI数据源

如何定义JNDI数据源 (抽取翻译了一下Tomcat文档的JNDI数据源的部分,不对的地方请指正..)

内容提要:
1、介绍
2、数据连接池的配置
3、不使用连接池的解决方案
4、Oracle数据源配置举例

1、总体介绍 Introdution

配置JNDI数据源是配置JNDI资源的一个特例,过程和方法都差不多..
请注意:在Tomcat 5.0.x 和 Tomcat 5.5.x版本之间,JNDI资源的配置已经发生了变化,所以,如果你使用的是以上版本需要修改一下配置语法..
本文假定你已经理解了Context和Host的配置,如果没有,请自行学习..

2、数据连接池的配置 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..
3 避免数据连接池泄露 Preventing DB connection pool leaks
顾名思义,数据连接池负责创建和管理数据库连接.重用一个已经存在的数据连接要比每次都打开新建(new)一个连接效率高的多..
但连接池通常个问题:一个Web应用程序需要关闭ResultSet's,Statement's,Connections's等资源.如果应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终如果没有足够的有效的连接,将导致应用程序连接失败.
对于这个问题有个解决方法;Jakarta-Commons的DBCP可以通过配置来跟踪、恢复那些关闭失败的连接.不但可以恢复,而且还可以生成堆栈轨迹..
为了关闭和重用那个被遗弃的资源,可以在DBCP数据源的资源配置中加入一下属性:

            1. Context?initContext?=?new?InitialContext(); ??
            2. Context?envContext??=?(Context)initContext.lookup("java:/comp/env"); ??
            3. DataSource?ds?=?(DataSource)envContext.lookup("jdbc/myoracle"); ??
            4. Connection?conn?=?ds.getConnection(); ??
            5. //etc.???

            ?英文原文地址:tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html?

            ?

            2007-06-27

            jvincent 1 楼 qintao1203 2007-09-21   4.2 配置web.xml
            问一下是tomcat里的web.xml
            还是项目中的web.xml 2 楼 viva156 2007-09-24   你这样直接在web.xml中添加JNDI数据源不太理想。
            Tomcat的版本不同,相应的标记也不相同。
            去下一个Admin模块吧。直接在UI中添加。 3 楼 jvincent 2007-09-24   这个只是官方文档的一个翻译,再说就算版本不同,但应该也会向下兼容的吧

热点排行