java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.naming
类 ReferralException

java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 javax.naming.NamingException
              继承者 javax.naming.ReferralException
所有已实现的接口:
Serializable
直接已知子类:
LdapReferralException

public abstract class ReferralException
extends NamingException

此抽象类用于表示一个反向链接 (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() 方法的环境属性归调用方所有。服务提供程序不会修改该对象或保持对它的引用,但会保持对其副本的引用。

从以下版本开始:
1.3
另请参见:
序列化表格

字段摘要
 
从类 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()
          放弃将要处理的反向链接。
 
从类 javax.naming.NamingException 继承的方法
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, printStackTrace, printStackTrace, printStackTrace, setStackTrace
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

ReferralException

protected ReferralException(String explanation)
使用所提供的解释构造一个新的 ReferralException 实例。将所有其他字段都设置为 null。

参数:
explanation - 有关此异常的附加详细信息。可以为 null。
另请参见:
Throwable.getMessage()

ReferralException

protected ReferralException()
构造一个新的 ReferralException 实例。将所有字段都设置为 null。

方法详细信息

getReferralInfo

public abstract Object getReferralInfo()
检索与此反向链接有关的信息(比如 URL)。该程序可以检查或向用户显示此信息,以确定是否继续此反向链接,或确定继续此反向链接所需要提供的附加信息。

返回:
与此反向链接有关的非 null 反向链接信息。

getReferralContext

public abstract Context getReferralContext()
                                    throws NamingException
检索继续该方法的上下文。不管在上下文操作期间(例如在搜索枚举期间)是否直接或间接地遇到某一反向链接,反向链接异常都应该提供一个继续该操作的上下文。反向链接上下文是使用抛出 ReferralException 的上下文的环境属性创建的。

要继续该操作,客户端程序应该使用与初始调用相同的参数重新调用该方法。

返回:
将继续该操作的非 null 上下文。
抛出:
NamingException - 如果遇到命名异常。调用 retryReferral()skipReferral() 来继续处理这些反向链接。

getReferralContext

public abstract Context getReferralContext(Hashtable<?,?> env)
                                    throws NamingException
使用环境属性检索继续该方法的上下文。不管在上下文操作期间(例如在搜索枚举期间)是否直接或间接地遇到某一反向链接,反向链接异常都应该提供一个继续该操作的上下文。

反向链接上下文是通过使用 env 作为其环境属性来创建的。当调用方需要将不同的环境属性用于反向链接上下文时,应该使用此方法,而不是无参数的重载形式。例如,当需要为反向链接服务器提供不同的身份验证信息来创建反向链接上下文时,可能需要这样做。

要继续该操作,客户端程序应该使用与初始调用相同的参数重新调用该方法。

参数:
env - 检索反向链接上下文时要使用的环境(可能为 null)。如果为 null,则不使用环境属性。
返回:
将继续该操作的非 null 上下文。
抛出:
NamingException - 如果遇到命名异常。调用 retryReferral()skipReferral() 来继续处理这些反向链接。

skipReferral

public abstract boolean skipReferral()
放弃将要处理的反向链接。调用此方法后应该调用 getReferralContext,以允许处理其他要继续的反向链接。以下代码片段展示了一个典型的使用模式。

        } catch (ReferralException e) {
            if (!shallIFollow(e.getReferralInfo())) {
                if (!e.skipReferral()) {
                    return;
                }
            }
            ctx = e.getReferralContext();
        }
 

返回:
如果还有反向链接处理正被挂起,则返回 true;否则返回 false。

retryReferral

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

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策