java.lang.Object
java.lang.Throwable
java.lang.Exception
javax.naming.NamingException
javax.naming.ReferralException
javax.naming.ldap.LdapReferralException
- 所有已实现的接口:
-
Serializable
这个抽象类用于表示LDAP引荐异常。它通过提供一个接受请求控件的
getReferralContext()
方法来扩展基本的ReferralException
。LdapReferralException是一个抽象类。它的具体实现确定了它的同步和序列化属性。
作为getReferralContext()
方法参数传递的Control[]
数组由调用者拥有。服务提供者不会修改数组或保留对它的引用,尽管它可能保留对数组中各个Control
对象的引用。
- 自从:
- 1.3
- 参见:
-
Field Summary
Fields declared in class javax.naming.NamingException
remainingName, resolvedName, resolvedObj, rootException
-
Constructor Summary
ModifierConstructorDescriptionprotected
构造一个新的LdapReferralException实例。protected
LdapReferralException
(String explanation) 使用提供的解释构造一个新的LdapReferralException实例。 -
Method Summary
Modifier and TypeMethodDescriptionabstract Context
检索使用上下文的环境和无控件继续方法的上下文。abstract Context
getReferralContext
(Hashtable<?, ?> env) 检索使用环境属性和无控件继续方法的上下文。abstract Context
getReferralContext
(Hashtable<?, ?> env, Control[] reqCtls) 使用请求控件和环境属性检索继续方法的上下文。Methods declared in class javax.naming.ReferralException
getReferralInfo, retryReferral, skipReferral
Methods declared in class javax.naming.NamingException
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
Methods declared in class java.lang.Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
Constructor Details
-
LdapReferralException
使用提供的解释构造一个新的LdapReferralException实例。所有其他字段设置为null。- 参数:
-
explanation
- 关于此异常的额外细节。可以为null。 - 参见:
-
LdapReferralException
protected LdapReferralException()构造一个新的LdapReferralException实例。所有字段设置为null。
-
-
Method Details
-
getReferralContext
使用上下文的环境和无控件检索继续方法的上下文。引荐上下文是使用抛出ReferralException
的上下文的环境属性和无控件创建的。此方法等效于
getReferralContext(ctx.getEnvironment(), null);
ctx
是抛出ReferralException
的上下文。此类中重写此方法仅用于文档目的。有关如何使用此方法,请参阅
ReferralException
。- 指定者:
-
getReferralContext
在类ReferralException
- 返回:
- 非null的继续方法的上下文。
- 抛出:
-
NamingException
- 如果遇到命名异常。调用retryReferral()
或skipReferral()
继续处理引荐。
-
getReferralContext
使用环境属性和无控件检索继续方法的上下文。引荐上下文是使用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()
继续处理引荐。
-