JNDI---Naming Package

     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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值