Класс ReferralException
- Все реализованные интерфейсы:
Serializable
- Прямые известные подклассы:
LdapReferralException
public abstract class ReferralException extends NamingException
Поставщик службы предоставляет подкласс ReferralException, предоставляя реализации для getReferralInfo() и getReferralContext() (и соответствующие конструкторы и/или соответствующие методы «set»).
Следующий фрагмент кода демонстрирует, как можно использовать 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. |
|
protected |
Создает новый экземпляр ReferralException с использованием предоставленного объяснения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Context |
getReferralContext() |
Возвращает контекст, в котором следует продолжить выполнение метода. |
abstract Context |
getReferralContext |
Возвращает контекст, в котором следует продолжить выполнение метода, используя свойства среды. |
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
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace
Подробное описание конструкторов
ReferralException
protected ReferralException(String explanation)
- Параметры:
-
explanation- Дополнительные детали об этом исключении. Может быть null. - См. также:
ReferralException
protected ReferralException()
Подробное описание методов
getReferralInfo
public abstract Object getReferralInfo()
- Возвращает:
- Не пустая информация о перенаправлении, связанная с данным перенаправлением.
getReferralContext
public abstract Context getReferralContext() throws NamingException
Для продолжения операции клиентская программа должна повторно вызвать метод с теми же аргументами, что и в исходном вызове.
- Возвращает:
- Не пустой контекст, в котором следует продолжить выполнение метода.
- Издает:
-
NamingException- Если было обнаружено исключение имени. Вызовите либоretryReferral()илиskipReferral()для продолжения обработки перенаправлений.
getReferralContext
public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
Контекст перенаправления создается с использованием env в качестве своих свойств среды. Этот метод следует использовать вместо метода без аргументов, когда вызывающая сторона нуждается в использовании других свойств среды для контекста перенаправления. Например, возможно, ей потребуется это сделать, чтобы предоставить другую информацию об аутентификации серверу, на который осуществляется перенаправление, для создания контекста перенаправления.
Для продолжения операции клиентская программа должна повторно вызвать метод с теми же аргументами, что и в исходном вызове.
- Параметры:
-
env- Возможные 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();
}
}
}
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.naming/javax/naming/ReferralException.html