zoukankan      html  css  js  c++  java
  • jndi简介使用方法

           分布式计算环境通常使用命名和目录服务来获取共享的组件和资源。命名和目录服务将名称与位置、服务、信息和资源关联起来。它为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。命名服务提供了一种为对象命名的机制,这样你就可以在无需知道对象位置的情况下获取和使用对象。只要该对象在命名服务器上注册过,且你必须知道命名服务器的地址和该对象在命名服务器上注册的JNDI名。就可以找到该对象,获得其引用,从而运用它提供的服务。命名服务提供名称—对象的映射。目录服务提供有关对象的信息,并提供定位这些对象所需的搜索工具。
    Java 命名和目录接口或 JNDI 提供了一个用于访问不同的命名和目录服务的公共接口(JAVA API)。运

    用一个命名服务来查找与一个特定名字相关的一个对象,JDBC可以用JNDI来访问一个关系数据库。
    JNDI可访问的现有的目录及服务有:
    DNS、XNam 、Novell目录服务、LDAP(Lightweight Directory Access Protocol 轻型目录访问协议)、

    CORBA对象服务、文件系统、Windows XP/2000/NT/Me/9x的注册表、RMI、DSML v1&v2、NIS。
    JNDI优点:
    包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;
    可以同时连接到多个命名或目录服务上;
    建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必指导对象或资源的物理ID。

    (2)JNDI程序包
    javax.naming:命名操作;
    javax.naming.directory:目录操作;
    javax.naming.event:在命名目录服务器中请求事件通知;
    javax.naming.ldap:提供LDAP支持;
    javax.naming.spi:允许动态插入不同实现。

    (3)常用的JNDI操作:
    void bind(String sName,Object object);――绑定:把名称同对象关联的过程
    void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
    void unbind(String sName);――释放:用来把对象从目录中释放出来
    void lookup(String sName,Object object);――查找:返回目录总的一个对象
    void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
    NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
    NamingEnumeration list(String sName);

    (4)重命名:用来修改对象名称绑定的名称
    NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
    NamingEnumeration list(String sName);
    代码示例:重新得到了名称、类名和绑定对象。
    NamingEnumeration namEnumList = ctxt.listBinding("cntxtName");
    ...
    while ( namEnumList.hasMore() )  {
    Binding bnd = (Binding) namEnumList.next();
    String sObjName = bnd.getName();
    String sClassName = bnd.getClassName();
    SomeObject objLocal = (SomeObject) bnd.getObject();
    }

    硬编码形式的 绑定时不能跨两个系统 即使是部署在同一个服务器上的程序

    不过特定的配置 可以实现这一功能

  • 相关阅读:
    Jquery对象与DOM对象之间的转换
    关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法
    ${pageContext.request.contextPath} :JSP取得绝对路径方法
    servlet到底是什么?
    get和post的区别
    HTTP请求返回状态码详解
    XMLHttpRequest对象的readyState和status区别
    hdu 3594 仙人掌图
    hdu 4744 最小费用流
    hdu 4729 树链剖分
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331930.html
Copyright © 2011-2022 走看看