Module  java.naming
软件包  javax.naming.ldap

Class LdapReferralException

  • All Implemented Interfaces:
    Serializable


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

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

    从以下版本开始:
    1.3
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • LdapReferralException

        protected LdapReferralException​(String explanation)
        使用提供的说明构造一个新的LdapReferralException实例。 所有其他字段都设置为null。
        参数
        explanation - 有关此异常的其他详细信息。 可以为null。
        另请参见:
        Throwable.getMessage()
      • LdapReferralException

        protected LdapReferralException​()
        构造一个新的LdapReferralException实例。 所有字段都设置为null。
    • 方法详细信息

      • getReferralContext

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

        这个方法相当于

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

        在本课程中,仅用于文档目的而被覆盖。 有关如何使用此方法,请参阅ReferralException

        Specified by:
        getReferralContextReferralException
        结果
        用于继续该方法的非空上下文。
        异常
        NamingException - 如果遇到命名异常。 请致电retryReferral()skipReferral()以继续处理转介。
      • getReferralContext

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

        这个方法相当于

         getReferralContext(env, null);
        

        在本课程中,仅用于文档目的而被覆盖。 有关如何使用此方法,请参阅ReferralException

        Specified by:
        getReferralContext ReferralException
        参数
        env - 检索引用上下文时使用的可能的空环境。 如果为空,则不会使用环境属性。
        结果
        用于继续该方法的非空上下文。
        异常
        NamingException - 如果遇到命名异常。 请致电retryReferral()skipReferral()以继续处理转介。
      • getReferralContext

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

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

        当调用者需要提供创建引用上下文的请求控件时,应该使用此方法而不是其他两个重载表单。 例如,当需要提供与认证有关的特殊控制时,可能需要这样做。

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

        参数
        reqCtls - 用于新上下文的可能的空请求控件。 如果null或空数组意味着不使用请求控件。
        env - 为新的上下文使用的可能为空的环境属性。 如果为空,则上下文将初始化为无环境属性。
        结果
        用于继续该方法的非空上下文。
        异常
        NamingException - 如果遇到命名异常。 请致电retryReferral()skipReferral()以继续处理转介。