| |
| JNDI定义Oracle数据源的方法 |
| |
发布者: 发布时间:2007-10-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应用程序需要关闭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
<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.
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| JSP调用SQL server 2000存储过程 |
| jdk1.6环境变量设置。 |
| 面向Java开发人员db4o指南:数组和集合 |
| 在JSP环境中配置使用fckeditor详细讲解 |
| JAVA综合--如何掌握JDK1.5枚举类型 |
| 新手看招:JAVA程序的类加载及其反射机制 |
| |
| 最近评论: |
|
|
| 鍥炲 |
|
|
|
| 那个雨天的想法! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(5168) |
|
|
| 如果真的有来生! |
| 四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游,
max(8577) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(378) |
|
|
| 快乐情人节! |
| wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap.
max(3217) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(7444) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(1438) |
|
|
| 不想在乎你! |
| dofus kamas,dofus kamas,EVE ISK,dog shoes,pet supply,
max(3985) |
|
|
| 远方的你! |
| world of warcraft gold,wow gold,a href="http://www.gogoer.com">world of warcraft gold,cheap world of warcraft gold
max(1880) |
|
|
| 我想告诉你! |
| final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,world of warcraft gold,cheap world of warcraft gold
max(5136) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|