Java技术回顾之JNDI:JNDI API
JNDI API包含以下5个package:
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi
其中前面4个package定义了JNDI客户端接口,面向使用命名和目录服务的应用。最后的javax.naming.spi定义了JNDI服务提供者接口(SPI),面向不同的命名和目录服务提供者。
命名服务主要API javax.naming
1、Context接口和InitialContext类
Context是命名服务的核心接口,提供对象查找,绑定/解除绑定,重命名对象,创建和销毁子上下文等操作。
InitialContext类实现了Context接口,是访问命名服务的起始上下文,通过它可查找对象和子上下文。
Context主要方法:
Object lookup(Name name)
Object lookup(String name)
根据名称获取对象
void bind(Name name, Object obj)
void bind(String name, Object obj)
绑定名称到对象
void unbind(Name name)
void unbind(String name)
解除绑定,释放对象
void rebind(Name name, Object obj)
void rebind(String name, Object obj)
将对象和一个已经存在的名称重新绑定
void rename(Name oldName, Name newName)
void rename(String oldName, String newName)
修改对象名称
NamingEnumeration<NameClassPair> list(Name name)
NamingEnumeration<NameClassPair> list(String name)
列出上下文中的所有对象名称信息。NameClassPair包含对象名称和对象类名。
NamingEnumeration<Binding> listBindings(Name name)
NamingEnumeration<Binding> listBindings(String name)
列出上下文中的所有绑定。
Context createSubcontext(Name name)
Context createSubcontext(String name)
创建子上下文
void destroySubcontext(Name name)
void destroySubcontext(String name)
销毁子上下文
2、Name接口
对应于命名服务概念中的对象名称。它的具体实现可能是一个简单的字符串,也可能是一个复杂对象。CompoundName类和CompositeName类均实现了Name接口,分别代表复合名称和混合名称。
3、Binding类
对应于命名服务概念中的绑定。 一个Binding包含对象名称,对象的类名称,对象本身。
Binding主要方法:
String getName()
void setName(String name)
获取/设置对象名称
String getClassName()
setClassName(String name)
推荐文章 |
