免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 830 | 回复: 0
打印 上一主题 下一主题

JNDI介绍之 Naming Package [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-28 10:09 |只看该作者 |倒序浏览
JNDI是一组API,它通过java语言为应用程序提供命名(naming)和目录(directory)功能。它被定义成独立于任何特定的目录服务实现。因此各种不同的目录服务可以通过通用的方法被访问
Architecture
JNDI由一组API和SPI(service provider interface)组成。java程序通过JNDI API访问各种naming和directory服务。SPI使各种naming和directory服务的实现透明地插件化从而使java程序访问它所提供的服务。图形描述如下:

JNDI包包含在jdk1.3及以后的版本中.为使用JNDI,你需要JNDI classes和一个或多个服务提供者(service providers).jdk1.3包含三个service providers:
·LDAP(Lightweight Directory Access Protocol)
·COS(CORBA Common Object Services name service)
·RMI(Java Remote Method Invocation Registry)
其它的service providers可以从
这里
获得
JNDI被分为以下5个包:
·javax.naming
·javax.naming.directory
·javax.naming.event
·javax.naming.ldap
·javax.naming.spi
/*************************************************************/
naming package
提供用于访问命名服务的类和接口
·Context上下文
  用于查询、绑定/反绑定、重命名对象和创建与销毁子上下文(subContext)
·Names名字
  在Context接口中每一个命名方法都有2个重载:一个接受Name参数一个接受java.lang.Sting。Name是一个用于表示泛化的"名字"的接口.因此在Context接口中,一个Name参数是代表合成名字的CompositeName的实例,因此你可以用可以横越不同命名空间的名字来命名一个对象.其他类型的Name参数代表复合的名字.接受Name参数的重载对需要操作名字的应用很有用:组合他们,比较组件等等.
  java.lang.Sting的名字参数表示一个合成的名字,这个参数对简单的应用程序来说看起来更有用,比如仅读和查询符合的对象
·Binding绑定
  listBindings()返回一个代表名字-对象对的bindings的enumeration.每一个binding由Binding类的一个实例来表示
  list()类似listBindings(),但它返回的是NameClassPair的enumeration. NameClassPair包含对象的名字和对象的类的名字.list()对于那些浏览性的应用程序很有用--想知道对象所限的上下文内容但并不需要实际的对象.虽然listBindings()提供所有的相同的信息,但是显然它的代价是高昂的.
·References
  对象以不用的方式存储在naming和directory服务中.一个服务支持java对象存储也许支持以序列化的形式存储对象,然而另一些naming和directory服务不支持java对象存储.此外对于在目录中的一些对象,java程序只是访问它们的一组应用.这种情况下一个序列化的java对象也许不是一个适当的表示形式.一个reference或许是一个简洁的对象表示方法,尽管它的序列化形式或许包含了更多的状态
  JNDI定义Reference来表示reference.一个reference包含了构造一个java对象的信息.JNDI试图从目录中查询出的reference转化成java对象从而使JNDI客户端明白在目录中存储的java对象到底是什么.
·The Initial Context
  在JNDI中,所有的naming和directory操作都在相关的上下文环境下被执行.没有绝对根结点.但是JNDI定义了一个初始上下文-- InitialContext,它提供用于naming和directory操作的开始点.一旦你拥有了初始上下文,你可以用它来查询其他的上下文和对象.
·Exceptions
  JNDI定义了一系列的exception用于JNDI操作的异常处理.这些层次结构的根结点是 NamingException

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11783/showart_59015.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP