uTools-Manuals/docs/java/javax/naming/ReferralException.html

364 lines
19 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.naming
</div>
<h2 class="title" title="Class ReferralException">Class ReferralException</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../java/lang/Throwable.html" title="class in java.lang">java.lang.Throwable</a></li>
<li>
<ul class="inheritance">
<li><a href="../../java/lang/Exception.html" title="class in java.lang">java.lang.Exception</a></li>
<li>
<ul class="inheritance">
<li><a href="../../javax/naming/NamingException.html" title="class in javax.naming">javax.naming.NamingException</a></li>
<li>
<ul class="inheritance">
<li>javax.naming.ReferralException</li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../java/io/Serializable.html" title="java.io中的接口">Serializable</a></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../javax/naming/ldap/LdapReferralException.html" title="javax.naming.ldap中的类">LdapReferralException</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">ReferralException</span>
extends <a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>此抽象类用于表示引用异常该引用异常是响应于LDAP v3服务器返回的<em>引用</em>而生成的。</span>
<p> <span>服务提供商通过提供<tt>getReferralInfo()</tt><tt>getReferralContext()</tt> (以及适当的构造函数和/或相应的“设置”方法)的<tt>实现</tt>来提供<tt>ReferralException</tt>的子类。</span> </p>
<p> <span>以下代码示例显示了如何使用<tt>ReferralException</tt></span> </p>
<blockquote>
<span><code>while (true) { try { bindings = ctx.listBindings(name); while (bindings.hasMore()) { b = bindings.next(); ... } break; } catch (ReferralException e) { ctx = e.getReferralContext(); } } </code></span>
</blockquote>
<p> <span><tt>ReferralException</tt>是一个抽象类。</span> <span>具体实现确定其同步和序列化属性。</span> </p>
<p> <span>传递给<tt>getReferralContext()</tt>方法的环境参数由调用者拥有。</span> <span>服务提供商不会修改对象或保留对它的引用,但可以保留对其的克隆的引用。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../serialized-form.html#javax.naming.ReferralException">Serialized Form</a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.naming.NamingException">
<!-- --> </a> <h3>Fields inherited from class javax.naming.<a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></h3> <code><a href="../../javax/naming/NamingException.html#remainingName">remainingName</a>, <a href="../../javax/naming/NamingException.html#resolvedName">resolvedName</a>, <a href="../../javax/naming/NamingException.html#resolvedObj">resolvedObj</a>, <a href="../../javax/naming/NamingException.html#rootException">rootException</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#ReferralException--">ReferralException</a></span>()</code>
<div class="block">
构造一个新的ReferralException实例。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#ReferralException-java.lang.String-">ReferralException</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> explanation)</code>
<div class="block">
使用提供的说明构造一个新的ReferralException实例。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../javax/naming/Context.html" title="interface in javax.naming">Context</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#getReferralContext--">getReferralContext</a></span>()</code>
<div class="block">
检索继续该方法的上下文。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../javax/naming/Context.html" title="interface in javax.naming">Context</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#getReferralContext-java.util.Hashtable-">getReferralContext</a></span>(<a href="../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; env)</code>
<div class="block">
检索使用环境属性继续该方法的上下文。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#getReferralInfo--">getReferralInfo</a></span>()</code>
<div class="block">
检索与此推介相关的信息如URL
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#retryReferral--">retryReferral</a></span>()</code>
<div class="block">
重试目前正在处理的推介。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/naming/ReferralException.html#skipReferral--">skipReferral</a></span>()</code>
<div class="block">
丢弃有待处理的转介。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.naming.NamingException">
<!-- --> </a> <h3>Methods inherited from class javax.naming.<a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></h3> <code><a href="../../javax/naming/NamingException.html#appendRemainingComponent-java.lang.String-">appendRemainingComponent</a>, <a href="../../javax/naming/NamingException.html#appendRemainingName-javax.naming.Name-">appendRemainingName</a>, <a href="../../javax/naming/NamingException.html#getCause--">getCause</a>, <a href="../../javax/naming/NamingException.html#getExplanation--">getExplanation</a>, <a href="../../javax/naming/NamingException.html#getRemainingName--">getRemainingName</a>, <a href="../../javax/naming/NamingException.html#getResolvedName--">getResolvedName</a>, <a href="../../javax/naming/NamingException.html#getResolvedObj--">getResolvedObj</a>, <a href="../../javax/naming/NamingException.html#getRootCause--">getRootCause</a>, <a href="../../javax/naming/NamingException.html#initCause-java.lang.Throwable-">initCause</a>, <a href="../../javax/naming/NamingException.html#setRemainingName-javax.naming.Name-">setRemainingName</a>, <a href="../../javax/naming/NamingException.html#setResolvedName-javax.naming.Name-">setResolvedName</a>, <a href="../../javax/naming/NamingException.html#setResolvedObj-java.lang.Object-">setResolvedObj</a>, <a href="../../javax/naming/NamingException.html#setRootCause-java.lang.Throwable-">setRootCause</a>, <a href="../../javax/naming/NamingException.html#toString--">toString</a>, <a href="../../javax/naming/NamingException.html#toString-boolean-">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Throwable.html" title="class in java.lang">Throwable</a></h3> <code><a href="../../java/lang/Throwable.html#addSuppressed-java.lang.Throwable-">addSuppressed</a>, <a href="../../java/lang/Throwable.html#fillInStackTrace--">fillInStackTrace</a>, <a href="../../java/lang/Throwable.html#getLocalizedMessage--">getLocalizedMessage</a>, <a href="../../java/lang/Throwable.html#getMessage--">getMessage</a>, <a href="../../java/lang/Throwable.html#getStackTrace--">getStackTrace</a>, <a href="../../java/lang/Throwable.html#getSuppressed--">getSuppressed</a>, <a href="../../java/lang/Throwable.html#printStackTrace--">printStackTrace</a>, <a href="../../java/lang/Throwable.html#printStackTrace-java.io.PrintStream-">printStackTrace</a>, <a href="../../java/lang/Throwable.html#printStackTrace-java.io.PrintWriter-">printStackTrace</a>, <a href="../../java/lang/Throwable.html#setStackTrace-java.lang.StackTraceElement:A-">setStackTrace</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ReferralException-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ReferralException</h4> <pre>protected ReferralException(<a href="../../java/lang/String.html" title="class in java.lang">String</a> explanation)</pre>
<div class="block">
<span>使用提供的说明构造一个新的ReferralException实例。</span>
<span>所有其他字段都设置为null。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>explanation</code> - 有关此异常的其他详细信息。</span>
<span>可以为null。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/Throwable.html#getMessage--"><code>Throwable.getMessage()</code></a>
</dd>
</dl> </li>
</ul> <a name="ReferralException--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ReferralException</h4> <pre>protected ReferralException()</pre>
<div class="block">
<span>构造一个新的ReferralException实例。</span>
<span>所有字段都设置为null。</span>
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getReferralInfo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getReferralInfo</h4> <pre>public abstract <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> getReferralInfo()</pre>
<div class="block">
<span>检索与此推介相关的信息如URL</span>
<span>该程序可以检查或显示此信息给用户以确定是否继续转诊,或确定需要提供的其他信息以继续转介。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
与此推荐相关的非空介绍信息。
</dd>
</dl> </li>
</ul> <a name="getReferralContext--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getReferralContext</h4> <pre>public abstract <a href="../../javax/naming/Context.html" title="interface in javax.naming">Context</a> getReferralContext()
throws <a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>检索继续该方法的上下文。</span>
<span>无论在上下文操作期间是直接遇到转介,还是间接地,例如在搜索枚举期间,引用异常应提供继续操作的上下文。</span>
<span>引用上下文是使用引用ReferralException的上下文的环境属性创建的。</span>
<p> <span>要继续操作,客户端程序应该使用与原始调用相同的参数重新调用该方法。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于继续该方法的非空上下文。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果遇到命名异常。</span>
<span>致电<tt>retryReferral()</tt><tt>skipReferral()</tt>以继续处理转介。</span>
</dd>
</dl> </li>
</ul> <a name="getReferralContext-java.util.Hashtable-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getReferralContext</h4> <pre>public abstract <a href="../../javax/naming/Context.html" title="interface in javax.naming">Context</a> getReferralContext(<a href="../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; env)
throws <a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>检索使用环境属性继续该方法的上下文。</span>
<span>无论在上下文操作期间是直接遇到转介,还是间接地,例如在搜索枚举期间,引用异常应提供继续操作的上下文。</span>
<p> <span>引用上下文是使用<tt>env</tt>作为其环境属性创建的。</span> <span>当调用者需要为引用上下文使用不同的环境属性时,应该使用此方法而不是无参数重载的形式。</span> <span>它可能需要这样做,例如,当需要向引用的服务器提供不同的身份验证信息以创建引用上下文。</span> </p>
<p> <span>要继续操作,客户端程序应该使用与原始调用相同的参数重新调用该方法。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>env</code> - 检索引荐上下文时可能使用的空闲环境。</span>
<span>如果为空,则不会使用环境属性。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于继续该方法的非空上下文。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果遇到命名异常。</span>
<span>致电<tt>retryReferral()</tt><tt>skipReferral()</tt>以继续处理转介。</span>
</dd>
</dl> </li>
</ul> <a name="skipReferral--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>skipReferral</h4> <pre>public abstract boolean skipReferral()</pre>
<div class="block">
<span>丢弃有待处理的转介。</span>
<span>调用此方法之后应该调用<code>getReferralContext</code>以允许处理其他引用继续。</span>
<span>以下代码片段显示了典型的使用模式。</span>
<blockquote>
<span><pre>
} catch (ReferralException e) {
if (!shallIFollow(e.getReferralInfo())) {
if (!e.skipReferral()) {
return;
}
}
ctx = e.getReferralContext();
}
</pre></span>
</blockquote>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果更多的转诊处理正在等待;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="retryReferral--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>retryReferral</h4> <pre>public abstract void retryReferral()</pre>
<div class="block">
<span>重试目前正在处理的推介。</span>
<span>调用此方法之后应该调用<code>getReferralContext</code>以允许重试当前的引用。</span>
<span>以下代码片段显示了典型的使用模式。</span>
<blockquote>
<span><pre>
} 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();
}
}
}
</pre></span>
</blockquote>
</div> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>