Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class ReferralException extends NamingException
Поставщик услуг обеспечивает подкласс ReferralException, обеспечивая реализации для getReferralInfo() и getReferralContext() (и соответствующие конструкторы и/или соответствующие методы "набора").
Следующий пример кода показывает, как ReferralException может использоваться.
while (true) { try { bindings = ctx.listBindings(name); while (bindings.hasMore()) { b = bindings.next(); ... } break; } catch (ReferralException e) { ctx = e.getReferralContext(); } }
ReferralException является абстрактным классом. Конкретные реализации определяют его свойства синхронизации и сериализации.
Параметр среды, который передают к методу getReferralContext(), принадлежит вызывающей стороне. Поставщик услуг не будет изменять объект или сохранять ссылку на него, но может сохранить ссылку на клона его.
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()
Отбрасывает отсылку, собирающуюся быть обработанным.
|
appendRemainingComponent, appendRemainingName, getCause, getExplanation, getRemainingName, getResolvedName, getResolvedObj, getRootCause, initCause, setRemainingName, setResolvedName, setResolvedObj, setRootCause, toString, toString
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace
protected ReferralException(String explanation)
explanation
- Дополнительная деталь об этом исключении. Может быть нуль.Throwable.getMessage()
protected ReferralException()
public abstract Object getReferralInfo()
public abstract Context getReferralContext() throws NamingException
Чтобы продолжать работу, клиентская программа должна повторно вызвать метод, используя те же самые параметры в качестве исходного вызова.
NamingException
- Если с исключением именования встретились. Вызов или retryReferral() или skipReferral(), чтобы продолжать обрабатывать отсылки.public abstract Context getReferralContext(Hashtable<?,?> env) throws NamingException
Контекст отсылки создается, используя env в качестве его свойств среды. Этот метод должен использоваться вместо перегруженной формы без аргументов, когда вызывающая сторона должна использовать различные свойства среды для контекста отсылки. Это, возможно, должно было бы сделать это, например, когда это должно предоставить различную информацию аутентификации к отнесенному серверу, чтобы создать контекст отсылки.
Чтобы продолжать работу, клиентская программа должна повторно вызвать метод, используя те же самые параметры в качестве исходного вызова.
env
- Возможно нулевая среда, чтобы использовать, получая контекст отсылки. Если ноль, никакие свойства среды не будут использоваться.NamingException
- Если с исключением именования встретились. Вызов или retryReferral() или skipReferral(), чтобы продолжать обрабатывать отсылки.public abstract boolean skipReferral()
getReferralContext
позволить обработке других отсылок продолжаться. Следующий фрагмент кода показывает типичный образец использования. } catch (ReferralException e) { if (!shallIFollow(e.getReferralInfo())) { if (!e.skipReferral()) { return; } } ctx = e.getReferralContext(); }
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(); } } }
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.