Класс 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()
- Возвращает:
- Информация о перенаправлении, не равна null, относящаяся к этому перенаправлению.
getReferralContext
public abstract Context getReferralContext() throws NamingException
Для продолжения операции клиентская программа должна повторно вызвать метод с теми же аргументами, что и при исходном вызове.
- Возвращает:
- Контекст, не равный 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();
}
}
}
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/ReferralException.html