JNDI的介绍



JNDI的介绍:JNDI 是自 JDK1.3 版本开始绑定的标准 Java API。JNDI为各种现有的命名以及目录服务提供了通用接口:DNS、LDAP、活动目录(Active Directory)、RMI 注册器、COS 注册器、NIS 及文件系统。在结构上,JNDI 由两部分组成:客户 API 和服务提供商接口(Service Provider Intergace,SPI),应用程序通过客户 API 访问命名和目录服务;服务提供商接口用于供厂商创建命名和目录服务的 JNDI 实现。下面是 JNDI 的结构图:

JNDI 的结构图

JNDI 的结构图

EJB 开发者来说,只需要知道使用客户 API 如何访问命名和目录服务,不需要知道 JNDI SPI 的使用,不需要使用 JNDI SPI 开发 JNDI 实现产品,好比通过 JDBC 访问数据库,只需要知道使用 JDBC API 如何访问数据库,而不用知道数据库的 JDBC 驱动如何实现。使用客户 API 访问 EJB3.0,需要编写的 JNDI 代码不过是几行。

命名服务用于将名称与对象联系起来,使得我们可以用名称访问对象。例如,当你在 web 浏览器输入 URL:http://www.baidu.com 时,DNS(Domain Name System,域名系统)将这个域名转换成 IP 地址。目录服务是命名服务的自然扩展,在这种服务里,对象不但有名称,还有属性。与命名服务的关键差别是:目录服务中对象可以有属性(例如,用户有 email 地址),而命名服务中对象没有属性。