JNDI全攻略(一).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JNDI全攻略(一)

JNDI全攻略(一) 名词解释 jndi是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JEE)的核心技术之一。在JMS,JMail,JDBC,EJB等技术中,就大量应用的这种技术。 为什么会有jndi jndi诞生的理由似乎很简单。随着分布式应用的发展,远程访问对象访问成为常用的方法。虽然说通过 Socket等编程手段仍然可实现远程通信,但按照模式的理论来说,仍是有其局限性的。RMI技术,RMI-IIOP技术的产生,使远程对象的查找成为了技术焦点。JNDI技术就应运而生。JNDI技术产生后,就可方便的查找远程或是本地对象。 JNDI的架构与实现 JNDI的架构与JDBC的架构非常类似.JNDI架构提供了一组标准命名系统的API,这些API在JDK1.3之前是作为一个单独的扩展包jndi.jar(通过这个地址下载),这个基础API构建在与SPI之上。这个API提供如下五个包 javax.naming javax.naming.directory javax.naming.event javax.naming.ldap javax.naming.spi 在应用程序中,我们实际上只使到用以上几个包的中类.具体调用类及通信过程对用户来说是透明的. JNDI API提供了访问不同JNDI服务的一个标准的统一的实现,其具体实现可由不同的 Service Provider来完成。前面讲的为第一层JNDI API层. 最下层为JNDI SPI API及其具体实现。 图中所列的一些SPI可从/products/jndi/downloads/index.html下载. 它包括了几个增强和下面的命名/目录服务提供者: LDAP(Lightweight Directory Access Protocol)服务提供者 CORBA COS(Common Object Request Broker Architecture Common Object Services)命名服务提供者 RMI(Java Remote Method Invocation)注册服务提供者 DNS(Domain Name System)服务提供者. FSSP(File System Service Provider)文件系统服务提供者 其它服务提供者 中间层为命名管理层。其功能应该由JNDI SPI来完成。上层为JNDI API,这个API包在Java 2 SDK 1.3及以上的版本中已经包括。 前面讲解的只是作为应用程序客户端的架构实现,其服务端是由SPI对应的公司/厂商来实现的,我们只需将服务端的相关参数传给JNDI API就可以了,具体调用过程由SPI来完成. JNDI工作原理 下面通过一个示例程序来说明JNDI工作原理(代码为自解释). /* * Created on 2005-3-4 * * To change the template for this generated file go to * Windowgt;Preferencesgt;Javagt;Code Generationgt;Code and Comments */ packagecom.sily.jndi; importjava.io.FileInputStream; importjava.util.Properties; importjavax.naming.Context; importjavax.naming.InitialContext; /** * @author shizy * * To change the template for this generated type comment go to * Windowgt;Preferencesgt;Javagt;Code Generationgt;Code and Comments */ public classTestJbossJNDI { /** * */ publicTestJbossJNDI() { super(); // TODO Auto-generated constructor stub } public static voidmain(String[]args) {try{ Properties env =newProperties();

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档