文章目录
一、描述
文档资料见jdk8,JNDI章节
1.1 详细描述
除了使用传统的依赖加载类并执行的方式外。还可以让供应商按照一定目录格式来存放java的类。java在应用时仅需按照名称,就可以加载和执行目录下的类。提供这样功能和规范的工具包就是JNDI。和JNI很不同
原文
Java命名和目录接口(JNDI)为使用Java编程语言编写的应用程序提供命名和目录功能。它被设计为独立于任何特定的命名或目录服务实现。因此,可以以通用方式访问各种服务(新的,新兴的和已经部署的服务)。
JNDI体系结构由一个API(应用程序编程接口)和一个SPI(服务提供商接口)组成。Java应用程序使用此API访问各种命名和目录服务。SPI使透明地插入各种命名和目录服务成为可能,从而允许使用JNDI技术的API的Java应用程序访问其服务。
1.2 简要描述
服务的发现机制,将类按照格式编排。应用可以自动加载使用。
遵循
服务接口约定
--服务接口的定义服务实现
、-- 服务接口的实现服务注册
– 配置定义文件服务发现与使用
– 应用发现并自动加载
1.3 术语
API | Application Programming Interface |
SPI | Service Provider Interface |
二、API和SPI规范
JNDI包含以下软件包:
javax.naming
包含用于访问命名服务的类和接口。javax.naming.directory
扩展了核心javax.naming包,以提供除命名服务之外的用于访问目录的功能。javax.naming.event
包含用于在命名和目录服务中支持事件通知的类和接口。javax.naming.ldap
包含用于支持LDAPv3扩展操作和控件的类和接口。javax.naming.spi
包含允许各种命名和目录服务提供程序动态插入JNDI下面的类和接口。
三、教程(3.6 最重要)
3.1 Naming and Directory 的概念
概念的总览
3.1.2 Naming的概念
1 命名系统(naming system)的概念
为对象命名,便于定位资源。
eg:
Naming System | 分割符 | Names | 描述 |
---|---|---|---|
UNIX file system | “/” | 形如/usr/hello |
文件系统 |
DNS | “.” | 形如sales.Wi |