模块 java.naming

类 LdapReferralException

所有已实现的接口:
Serializable

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

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

自从:
1.3
参见:
  • 构造方法详细信息

    • LdapReferralException

      protected LdapReferralException(String  explanation)
      使用提供的解释构造 LdapReferralException 的新实例。所有其他字段都设置为空。
      参数:
      explanation - 有关此异常的其他详细信息。可以为空。
      参见:
    • LdapReferralException

      protected LdapReferralException()
      构造 LdapReferralException 的新实例。所有字段都设置为空。
  • 方法详情

    • getReferralContext

      public abstract Context  getReferralContext() throws NamingException
      检索上下文,在该上下文中使用上下文的环境而不使用控件继续方法。引用上下文是使用抛出 ReferralException 而没有控件的上下文的环境属性创建的。

      这个方法相当于

       getReferralContext(ctx.getEnvironment(), null);
      
      其中 ctx 是引发 ReferralException. 的上下文

      它在此类中被覆盖,仅用于文档目的。有关如何使用此方法的信息,请参阅 ReferralException

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

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

      这个方法相当于

       getReferralContext(env, null);
      

      它在此类中被覆盖,仅用于文档目的。有关如何使用此方法的信息,请参阅 ReferralException

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

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

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

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

      服务提供者实施者应阅读 LdapContext 类描述中的“服务提供者”部分以了解实施细节。

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