- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- javax.naming.NamingException
-
- javax.naming.ReferralException
-
- javax.naming.ldap.LdapReferralException
-
- All Implemented Interfaces:
-
Serializable
public abstract class LdapReferralException extends ReferralException
此抽象类用于表示LDAP引用异常。 它通过提供接受请求控制的getReferralContext()
方法来扩展基座ReferralException
。 LdapReferralException是一个抽象类。 它的具体实现决定了其同步和序列化属性。作为参数传递给
getReferralContext()
方法的Control[]
数组由调用者拥有。 服务提供商不会修改数组或保留对它的引用,尽管它可能会保留对数组中的个人Control
对象的引用。- 从以下版本开始:
- 1.3
- 另请参见:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.naming.NamingException
remainingName, resolvedName, resolvedObj, rootException
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
LdapReferralException()
构造一个新的LdapReferralException实例。protected
LdapReferralException(String explanation)
使用提供的说明构造一个新的LdapReferralException实例。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract Context
getReferralContext()
检索使用上下文环境继续该方法的上下文,而不使用控件。abstract Context
getReferralContext(Hashtable<?,?> env)
检索使用环境属性继续该方法的上下文,而不使用控件。abstract Context
getReferralContext(Hashtable<?,?> env, Control[] reqCtls)
检索使用请求控件和环境属性继续该方法的上下文。-
Methods inherited from class javax.naming.NamingException
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javax.naming.ReferralException
getReferralInfo, retryReferral, skipReferral
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
-
-
-
构造方法详细信息
-
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:
-
getReferralContext
在ReferralException
- 结果
- 用于继续该方法的非空上下文。
- 异常
-
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()
以继续处理转介。
-
-