Java Naming and Directory Interface (JNDI)是J2EE平台的一个主要产品并且支持Enterprise JavaBeans(EJB)。JNDI可以无缝连接不同种类的企业" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

用JNDI建立支持目录的应用程序

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> Java Naming and Directory Interface (JNDI)是J2EE平台的一个主要产品并且支持Enterprise JavaBeans(EJB)。JNDI可以无缝连接不同种类的企业

<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 

Java Naming and Directory Interface (JNDI)是J2EE平台的一个主要产品并且支持Enterprise JavaBeans(EJB)。JNDI可以无缝连接不同种类的企业命名和目录服务。程序员们能够使用JNDI建立轻便的目录支持应用程序。让我们来看看它的工作原理以及开始使用它所必需的代码。
  
  名字命名
  
  几乎所有计算平台都要依靠某种标准化的命名系统来查找、获取以及存储资源。例如,文件系统靠的是文件和目录名,目录服务靠的是对象名,而DNS系统依靠URL――你就是靠它找到本文的。
  
  大多数的命名系统使用某种能避免名字冲突的与法。
  当试图引用其中一个文件时这会造成很多麻烦。但是,假如每个文件被引用的时候都包括了其父目录,那问题就解决了。为了示范,我们假设命名语法使用一个UNIX式的分隔符。用完整路径名来引用每个名为File 1的文件应该使用如下的语法:
  
  /Root/Directory 2/Directory 2.2.1/File 1
  
  /Root/Directory 2/Directory 2.2.2/File 1
  
  注重每个文件的完整路径都是唯一的。这就保证了操作系统能够正确地对一个文件进行操作,而不必担心会与其它文件发生冲突。提供这种对对象上下文便捷引用的环境被称为命名空间
  Java Naming and Directory Interface是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供给接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。
  
  JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。
  
  JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。JNDI使用通用的方式来暴露命名空间,即使用分层上下文以及使用相同命名语法的子上下文。
  
  使用JNDI
  Java 2 SDK 1.3版加入了JNDI。假如使用的是1.1或1.2版,可以下载并作为JDK的标准扩展来安装。还必须为想要使用的特定的命名空间安装service provider,比如LDAP、文件系统或RMI。这些service provider可以从Sun的JNDI Web站点下载或从SPI的供给商那里得到。


  
精彩图集

赞助商链接