jndi全面总结

jndi全面总结

ID:27571106

大小:87.55 KB

页数:12页

时间:2018-12-03

jndi全面总结_第1页
jndi全面总结_第2页
jndi全面总结_第3页
jndi全面总结_第4页
jndi全面总结_第5页
资源描述:

《jndi全面总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、JNDI全面总结原理:在DataSource中事先建立多个数据库连接,保存在数据库连接池中。当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池,这与每次去直接访问数据库相比,会节省大量时间和资源。JNDI(JavaNamingandDirectoryInterface),是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支

2、持这项技术JNDI目前所支持的技术包括LDAP、CORBACommonObjectService(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。可以把它理解为一种将对象和名字捆绑的技术,对象工厂负责生产出对象,这些对象都和唯一的名字绑在一起,外部资源可以通过名字获得某对象的引用。在javax.naming的包包中提供Context接口,提供了两个很好用的方法:<1>voidbind(Stringname,Objectobject)将名称绑定到对象。所有中间上下文和目标上下文(由该名称最终原

3、子组件以外的其他所有组件指定)都必须己经存在。<2>Objectlookup(Stringname)检索指定的对象。如果name为空,则返回此上下文的一个新实例(该实例表示与此上下文相同的命名上下文,但其环境可以独立地进行修改,而且可以并发访问)。运行机制:1、首先程序代码获取初始化的JNDI环境并且调用Context.lookup()方法从JNDI服务提供者那里获一个DataSource对象2、中间层JNDI服务提供者返回一个DataSource对象给当前的Java应用程序这个DataSource对象代表了中间层服务上现存的緩冲数据源3、应用程序调用DataSourc

4、e对象的getConnection()方法4、当DataSource对象的中间层服务器将查询数据库getConnection()方法被调用时,连接缓冲池中有没有PooledConnection接口的实例对象。这个PooledConnection对象将被用于与数据库建立物理上的数据库连接5、如果在缓冲池中命中了一个PooledCoonection对象那么连接缓冲池将简单地更新内部的缓冲连接队列并将该PooledConnection对象返回。如果在缓冲池内没有找到现成的PooledConnection对象,那么ConnectionPoolDataSource接口将会被用来产生一个新的P

5、ooledConnection对象并将它返回以便应用程序使用6、中间层服务器调用PooledConnection对象的getConnection()方法以便返还一个java.sql.Connection对象给当前的Java应用程序7、当中间层服务器调用PooledConnection对象的getConnection()方法时,JDBC数据库驱动程序将会创建一个Connection对象并且把它返回中间层服务器8、中间层服务器将Connection对象返回给应用程序Java应用程序,可以认为这个Connection对象是一个普通的JDBCConnection对象使用它可以和数据库建立。

6、事实上的连接与数据库引擎产生交互操作。9、当应用程序不需要使用Connection对象时,可以调用Connection接口的close()方法。请注意这种情况下close()方法并没有关闭事实上的数据库连接,仅仅是释放了被应用程序占用的数据库连接,并将它还给数据库连接缓冲池,数据库连接缓冲池会自动将这个数据库连接交给请求队列中下一个的应用程序使用。现在,数据库的连接没有用到连接池几乎很少很少,每个项目组都可能有自己的数据库连接池组件,各容器提供商也提供了各自的数据库连接池,接管理。下面介绍一下tomcat的数据库连tomcat6数据源配置(server.xml方式和context.

7、xml方式)在server.xml下配置你必需重启服务器才能生效,而context.xml配置保存后tomcat会自动加载无需重启在JNDI配配置数据源中需注意:项目下需要引入数据库驱动包,并且TOMCAT下也需要引入,不然会报错的1.context.xml方式Tomcat-6.0.26confcontext.xml文件当添加以下的配置信息<Resourcename="jdbc/mysql"auth="Container"type="javax.sql.Da

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。