|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.Throwable java.lang.Exception javax.naming.NamingException javax.naming.ReferralException
public abstract class ReferralException
此抽象类用于表示一个反向链接 (referral) 异常,该异常是在响应某一反向链接(比如 LDAP v3 服务器返回的反向链接)时生成的。
服务提供程序通过提供 getReferralInfo() 和 getReferralContext() 的实现(以及适当的构造方法和/或相应的 "set" 方法)来提供 ReferralException 的子类。
以下代码示例展示了如何使用 ReferralException。
while (true) { try { bindings = ctx.listBindings(name); while (bindings.hasMore()) { b = bindings.next(); ... } break; } catch (ReferralException e) { ctx = e.getReferralContext(); } }
ReferralException 是一个抽象类。具体的实现确定其同步和序列化属性。
传递给 getReferralContext() 方法的环境属性归调用方所有。服务提供程序不会修改该对象或保持对它的引用,但会保持对其副本的引用。
字段摘要 |
---|
从类 javax.naming.NamingException 继承的字段 |
---|
remainingName, resolvedName, resolvedObj, rootException |
构造方法摘要 | |
---|---|
protected |
ReferralException()
构造一个新的 ReferralException 实例。 |
protected |
ReferralException(String explanation)
使用所提供的解释构造一个新的 ReferralException 实例。 |
方法摘要 | |
---|---|
abstract Context |
getReferralContext()
检索继续该方法的上下文。 |
abstract Context |
getReferralContext(Hashtable<?,?> env)
使用环境属性检索继续该方法的上下文。 |
abstract Object |
getReferralInfo()
检索与此反向链接有关的信息(比如 URL)。 |
abstract void |
retryReferral()
检索当前正被处理的反向链接。 |
abstract boolean |
skipReferral()
放弃将要处理的反向链接。 |
从类 java.lang.Throwable 继承的方法 |
---|
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, printStackTrace, printStackTrace, printStackTrace, setStackTrace |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
protected ReferralException(String explanation)
explanation
- 有关此异常的附加详细信息。可以为 null。Throwable.getMessage()
protected ReferralException()
方法详细信息 |
---|
public abstract Object getReferralInfo()
public abstract Context getReferralContext() throws NamingException
要继续该操作,客户端程序应该使用与初始调用相同的参数重新调用该方法。
NamingException
- 如果遇到命名异常。调用 retryReferral() 或 skipReferral() 来继续处理这些反向链接。public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
反向链接上下文是通过使用 env 作为其环境属性来创建的。当调用方需要将不同的环境属性用于反向链接上下文时,应该使用此方法,而不是无参数的重载形式。例如,当需要为反向链接服务器提供不同的身份验证信息来创建反向链接上下文时,可能需要这样做。
要继续该操作,客户端程序应该使用与初始调用相同的参数重新调用该方法。
env
- 检索反向链接上下文时要使用的环境(可能为 null)。如果为 null,则不使用环境属性。
NamingException
- 如果遇到命名异常。调用 retryReferral() 或 skipReferral() 来继续处理这些反向链接。public abstract boolean skipReferral()
getReferralContext
,以允许处理其他要继续的反向链接。以下代码片段展示了一个典型的使用模式。
} catch (ReferralException e) { if (!shallIFollow(e.getReferralInfo())) { if (!e.skipReferral()) { return; } } ctx = e.getReferralContext(); }
public abstract void retryReferral()
getReferralContext
,以允许当前反向链接被重试。以下代码片段展示了一个典型的使用模式。
} catch (ReferralException e) { while (true) { try { ctx = e.getReferralContext(env); break; } catch (NamingException ne) { if (! shallIRetry()) { return; } // modify environment properties (env), if necessary e.retryReferral(); } } }
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。