定义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
|
4.2 配置web.xml
|
4.3 代码示例
闽公网安备 35060202000074号