标签:java
Java命名和目录接口
许多命名服务扩展到一个目录服务。目录服务将名称与对象关联,还可以与这些对象的属性关联
目录服务 =命名服务+对象(目录对象)
你不仅可以用它的名字查找某个对象,还可以获取对象的属性或基于它的属性搜索对象。
举一个电话薄的目录服务,一个用户名可以映射到一个人,一个人拥有地址~手机号~邮箱…属性信息,这里人就是一个目录对象,在这个目录对象里面可以存储很多信息(属性),这些信息都可以通过人的名字获取到.
Directory Object : 目录对象包含许多属性用来描述它自己
Java命名和目录接口?(JNDI)是一个应用程序编程接口(API),提供命名和目录的功能。它被定义为独立于任何特定目录服务的实现,因此任何一个已经部署的目录服务都可以使用一种共同的方式访问。
Packaging
JNDI是包含在Java SE平台。使用JNDI,你必须有JNDI类和一个或多个服务提供者。JDK包括以下命名和目录服务的服务提供商:
Context
java.naming.Context接口是一个提供搜索/绑定/解绑,重命名对象/创建/销毁subcontext的核心接口.
Lookup:lookup(Name/String):最常用的搜索操作,传入一个你想要搜索的名称,它会返回一个绑定在该名称的一个对象.
Bindings:listBindings(Name/String)返回一个按照name-to-object绑定的枚举集合,绑定包含了对象名称/对象类名称/对象本身
List:list(Name/String)和listBinding相似,只不过它返回一个包含对象名称/对象类名称的枚举集合,不包含对象本身.这个list方法有时是一个很有用的操作,当你只想浏览对象的一些信息而不包含对象本身时,它将比listBinding更有效率,代价更低.
Name:Name是表示一个通用名称的接口,一个拥有零或多个组件的有序序列.命名系统使用此接口来定义遵循其在命名和目录概念中所描述的约定名称。
References:对象以不同的方式存储在命名和目录服务中。一个对象的引用可能是一个非常简洁的表示.JNDI使用Reference类来表示引用,一个引用包含如何构造对象的副本,JNDI会尝试寻找在目录服务中的java对象并将其转化为Reference.这样JNDI客户端就会有一种错觉:任何java对象都可以存储在目录服务中.
Event Package
javax.naming.event包含了支持命名和目录服务事件通知的类和接口.
接受时间通知,要求listener必须注册一个 EventContext 或者EventDirContext.一旦注册,当相应的更改发生在命名/目录服务时,该侦听器将接收事件通知.
Service Provider Package
javax.naming.spi包的作用是适配不同的命名和目录服务,任何服务都可以通过JNDI进入应用。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:java
原文地址:http://blog.csdn.net/u010154120/article/details/47416027