Module java.naming

Class LdapReferralException

所有已实现的接口:
Serializable

public abstract class LdapReferralException extends ReferralException
这个抽象类用于表示LDAP引荐异常。它通过提供一个接受请求控件的getReferralContext()方法来扩展基本的ReferralException。LdapReferralException是一个抽象类。它的具体实现确定了它的同步和序列化属性。

作为getReferralContext()方法参数传递的Control[]数组由调用者拥有。服务提供者不会修改数组或保留对它的引用,尽管它可能保留对数组中各个Control对象的引用。

自从:
1.3
参见:
  • Constructor Details

    • LdapReferralException

      protected LdapReferralException(String explanation)
      使用提供的解释构造一个新的LdapReferralException实例。所有其他字段设置为null。
      参数:
      explanation - 关于此异常的额外细节。可以为null。
      参见:
    • LdapReferralException

      protected LdapReferralException()
      构造一个新的LdapReferralException实例。所有字段设置为null。
  • Method Details

    • getReferralContext

      public abstract Context getReferralContext() throws NamingException
      使用上下文的环境和无控件检索继续方法的上下文。引荐上下文是使用抛出ReferralException的上下文的环境属性和无控件创建的。

      此方法等效于

       getReferralContext(ctx.getEnvironment(), null);
      
      其中ctx是抛出ReferralException的上下文。

      此类中重写此方法仅用于文档目的。有关如何使用此方法,请参阅ReferralException

      指定者:
      getReferralContext 在类 ReferralException
      返回:
      非null的继续方法的上下文。
      抛出:
      NamingException - 如果遇到命名异常。调用retryReferral()skipReferral()继续处理引荐。
    • getReferralContext

      public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
      使用环境属性和无控件检索继续方法的上下文。引荐上下文是使用env作为其环境属性和无控件创建的。

      此方法等效于

       getReferralContext(env, null);
      

      此类中重写此方法仅用于文档目的。有关如何使用此方法,请参阅ReferralException

      指定者:
      getReferralContext 在类 ReferralException
      参数:
      env - 用于检索引荐上下文的可能为null的环境。如果为null,将不使用环境属性。
      返回:
      非null的继续方法的上下文。
      抛出:
      NamingException - 如果遇到命名异常。调用retryReferral()skipReferral()继续处理引荐。
    • getReferralContext

      public abstract Context getReferralContext(Hashtable<?,?> env, Control[] reqCtls) throws NamingException
      使用请求控件和环境属性检索继续方法的上下文。无论在上下文操作期间直接遇到引荐,还是间接遇到,例如在搜索枚举期间,引荐异常都应提供继续操作的上下文。为了继续操作,客户端程序应使用与原始调用相同的参数重新调用方法。

      在创建到引荐服务器的连接时,将使用reqCtls。这些控件将用作上下文和从上下文派生的上下文实例的连接请求控件。reqCtls还将是后续上下文操作的上下文请求控件。有关详细信息,请参阅LdapContext类描述。

      当调用者需要为创建引荐上下文提供请求控件时,应使用此方法,而不是其他两种重载形式。例如,当需要提供与身份验证相关的特殊控件时,可能需要这样做。

      服务提供者实现者应阅读LdapContext类描述中的“服务提供者”部分以获取实现详细信息。

      参数:
      env - 用于新上下文的可能为null的环境属性。如果为null,上下文将初始化为没有环境属性。
      reqCtls - 用于新上下文的可能为null的请求控件。如果为null或空数组表示不使用请求控件。
      返回:
      非null的继续方法的上下文。
      抛出:
      NamingException - 如果遇到命名异常。调用retryReferral()skipReferral()继续处理引荐。