Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе NamingException
remainingName, resolvedName, resolvedObj, rootException | Модификатор и тип | Поле | Описание |
|---|---|---|
protected Name |
remainingName |
Содержит оставшуюся часть имени, которая еще не была разрешена. |
protected Name |
resolvedName |
Содержит часть имени, которая была успешно разрешена. |
protected Object |
resolvedObj |
Содержит объект, до которого удалось разрешить часть имени. |
protected Throwable |
rootException |
Содержит исходное исключение, вызвавшее это исключение NamingException. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает новый экземпляр ReferralException. |
|
protected |
Создает новый экземпляр ReferralException с указанным пояснением. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Context |
getReferralContext() |
Возвращает контекст, в котором следует продолжить выполнение метода. |
abstract Context |
getReferralContext |
Возвращает контекст, в котором следует продолжить выполнение метода, используя свойства среды. |
abstract Object |
getReferralInfo() |
Возвращает сведения (например, URL-адреса), связанные с этим перенаправлением. |
abstract void |
retryReferral() |
Повторно обрабатывает текущее перенаправление. |
abstract boolean |
skipReferral() |
Отменяет перенаправление, которое должно быть обработано. |
Методы, объявленные в классе NamingException
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
appendRemainingComponent |
Добавляет имя в конец оставшейся части имени. |
void |
appendRemainingName |
Добавляет компоненты из 'name' в конец оставшейся части имени. |
Throwable |
getCause() |
Возвращает причину этого исключения. |
String |
getExplanation() |
Возвращает пояснение, связанное с этим исключением. |
Name |
getRemainingName() |
Возвращает оставшуюся неразрешенную часть имени. |
Name |
getResolvedName() |
Возвращает начальную часть имени, которая была успешно разрешена. |
Object |
getResolvedObj() |
Возвращает объект, до которого удалось выполнить разрешение. |
Throwable |
getRootCause() |
Возвращает корневую причину этого исключения NamingException, если она есть. |
Throwable |
initCause |
Устанавливает причину этого исключения в указанное значение. |
void |
setRemainingName |
Задает поле оставшейся части имени этого исключения. |
void |
setResolvedName |
Задает поле разрешенного имени этого исключения. |
void |
setResolvedObj |
Задает поле разрешенного объекта этого исключения. |
void |
setRootCause |
Записывает корневую причину этого исключения NamingException. |
String |
toString() |
Создает строковое представление этого исключения. |
String |
toString |
Создает более подробное строковое представление. |
Методы, объявленные в классе Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace | Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
addSuppressed |
Добавляет указанное исключение к исключениям, подавленным при возникновении этого исключения. |
Throwable |
fillInStackTrace() |
Заполняет трассировку стека выполнения. |
String |
getLocalizedMessage() |
Создает локализованное описание этого объекта Throwable. |
String |
getMessage() |
Возвращает строку подробного сообщения этого объекта Throwable. |
StackTraceElement[] |
getStackTrace() |
Предоставляет программный доступ к сведениям о трассировке стека, выводимым методом Throwable.printStackTrace(). |
final Throwable[] |
getSuppressed() |
Возвращает массив, содержащий все исключения, подавленные, как правило, оператором try-with-resources, при возникновении этого исключения. |
void |
printStackTrace() |
Выводит этот объект Throwable и его трассировку в стандартный поток ошибок. |
void |
printStackTrace |
Выводит этот объект Throwable и его трассировку в указанный поток вывода. |
void |
printStackTrace |
Выводит этот объект Throwable и его трассировку в указанный объект PrintWriter. |
void |
setStackTrace |
Задает элементы трассировки стека, которые будут возвращены методом Throwable.getStackTrace() и выведены методами Throwable.printStackTrace() и связанными с ним. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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, 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.