JNDI简介
Java命名和目录接口(Java Naming and Directory Interface, JNDI)为Java程序提供访问名字与目录服务的API。
JNDI的体系结构如下
Level 1: Java Applications
Level 2: JNDI API
Level 3: Naming Manager - 对各种名字进行封装 (closure)
Level 4: Varieties of names from RMI, CORBA, LDAP, etc.
JNDI的基本操作
JNDI API 包含如下五个包:
- javax.naming 包含访问名字服务器的类与接口
- javax.naming.event 包含在名字服务中实现时间通知机制的类和接口
- javax.naming.ldap 包含支持LDAP v3 扩展和控制的类和接口
- javax.naming.spi 为服务提供商提供的接口,一般用户不会涉及
- javax.naming.directory 包含访问目录服务的类和接口
Context 接口
Context是指定名字上下文的核心接口。Context定义了名字服务的基本操作。例如增加名称、对象绑定、根据名称查找对象,列出绑定的对象、解除绑定,以及创建和删除子上下文等操作。
InitialContext实现了Context接口,一般关于JNDI的操作都是对类InitialContext的操作,当创建与名字服务的连接时,所连接到的起始节点(Context)就是InitialContext。
第一步:建立初始上下文
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
try {
Context ctx = new InitialContext(ht);
}
第二步:绑定对象与查找对象
Context.bind(String name, Object obj)
Context.rebind(String name, Object obj)
这两个方法的区别在哪里?
例子:
try {
Context ctx = new InitialContext();
Date dt = new Date();
ctx.bind("date", dt);
}
本文介绍了Java命名和目录接口(JNDI)的基础知识及其体系结构。JNDI为Java程序提供了访问名字与目录服务的API。文章详细解释了JNDI的基本操作及核心接口Context,并通过示例展示了如何使用InitialContext进行绑定和查找对象。
2690

被折叠的 条评论
为什么被折叠?



