Пакет javax.naming

Предоставляет классы и интерфейсы для доступа к службам именования.

Этот пакет определяет операции именования в интерфейсе Java Naming and Directory Interface™ (JNDI). JNDI предоставляет функциональность именования и каталогов для приложений, написанных на языке программирования Java. Он разработан для независимости от конкретной реализации сервиса именования или каталога. Таким образом, к различным службам — новым, развивающимся и уже развернутым — можно получить доступ стандартным образом.

Контекст

Этот пакет определяет понятие контекста, представленного интерфейсом Context. Контекст состоит из набора связей имя-объект. Context является основным интерфейсом для поиска, связывания, отвязывания и переименования объектов, а также для создания и удаления подконтекстов.

lookup() является наиболее часто используемой операцией. Вы предоставляете lookup() имя объекта, который нужно найти, и он возвращает объект, связанный с этим именем. Например, следующий фрагмент кода ищет принтер и отправляет документ объекту принтера для печати:

Printer printer = (Printer)ctx.lookup("treekiller");
printer.print(report);

Имена

Каждый метод именования в интерфейсе Context имеет два перегрузки: одна принимает аргумент Name, а другая — строковое имя. Name — интерфейс, представляющий общее имя — упорядоченную последовательность нуля или более компонентов. Для этих методов Name может использоваться для представления составного имени (CompositeName), позволяя называть объект с помощью имени, охватывающего несколько пространств имен.

Перегрузки, принимающие Name, полезны для приложений, которым нужно манипулировать именами: комбинировать их, сравнивать компоненты и т. д. Перегрузки, принимающие строковые имена, скорее всего, будут более полезны для простых приложений, например, для тех, которые просто считывают имя и ищут соответствующий объект.

Связи

Класс Binding представляет собой связь имя-объект. Это кортеж, содержащий имя связанного объекта, имя класса объекта и сам объект.

Класс Binding фактически является подклассом NameClassPair, который содержит только имя объекта и имя класса объекта. NameClassPair полезен, когда вам нужна только информация о классе объекта, и вы не хотите платить дополнительную стоимость за получение объекта.

Ссылки

Объекты хранятся в службах именования и каталогов различными способами. Если хранилище объектов поддерживает хранение объектов Java, оно может поддерживать хранение объекта в сериализованной форме. Однако некоторые службы именования и каталогов не поддерживают хранение объектов Java. Кроме того, для некоторых объектов в каталоге программы Java являются лишь одной группой приложений, которые к ним обращаются. В этом случае сериализованный объект Java может не быть наиболее подходящим представлением. JNDI определяет ссылку, представленную классом Reference, содержащую информацию о том, как создать копию объекта. JNDI попытается преобразовать ссылки, полученные из каталога, в представляющие их объекты Java, чтобы клиенты JNDI имели иллюзию, что в каталоге хранятся объекты Java.

Начальный контекст

В JNDI все операции именования и каталогов выполняются относительно контекста. Нет абсолютных корней. Поэтому JNDI определяет начальный контекст, InitialContext, который предоставляет отправную точку для операций именования и каталогов. После получения начального контекста вы можете использовать его для поиска других контекстов и объектов.

Исключения

JNDI определяет иерархию классов исключений, которые могут быть выброшены в ходе выполнения операций именования и каталогов. Корень этой иерархии — NamingException. Программы, заинтересованные в обработке конкретного исключения, могут перехватить соответствующий подкласс исключения. В противном случае программы должны перехватывать NamingException.
С:
1.3
Интерфейс Описание
Context

Этот интерфейс представляет контекст именования, который состоит из набора связей имя-объект.

Name

Интерфейс Name представляет общее имя — упорядоченную последовательность компонентов.

NameParser

Этот интерфейс используется для разбора имен из иерархического пространства имен.

NamingEnumeration<T>

Этот интерфейс предназначен для перечисления списков, возвращаемых методами в пакетах javax.naming и javax.naming.directory.

Referenceable

Этот интерфейс реализуется объектом, который может предоставить ссылку на себя.

Класс Описание
BinaryRefAddr

Этот класс представляет двоичную форму адреса конечной точки связи.

Binding

Этот класс представляет собой связь имя-объект, найденную в контексте.

CompositeName

Этот класс представляет составное имя — последовательность имен компонентов, охватывающих несколько пространств имен.

CompoundName

Этот класс представляет составное имя — имя из иерархического пространства имен.

InitialContext

Этот класс является исходным контекстом для выполнения операций именования.

LinkRef

Этот класс представляет ссылку, содержимое которой — имя, называемое именем ссылки, которое привязано к атомарному имени в контексте.

NameClassPair

Этот класс представляет пару имени объекта и имени класса связи, найденной в контексте.

RefAddr

Этот класс представляет адрес конечной точки связи.

Reference

Этот класс представляет ссылку на объект, который находится вне системы именования/каталога.

StringRefAddr

Этот класс представляет строковую форму адреса конечной точки связи.

Исключение Описание
AuthenticationException

Это исключение генерируется, когда при доступе к службе именования или каталогам происходит ошибка аутентификации.

AuthenticationNotSupportedException

Это исключение генерируется, когда запрашиваемый тип аутентификации не поддерживается.

CannotProceedException

Это исключение генерируется, чтобы указать, что операция достигла точки в имени, где дальнейшее выполнение невозможно.

CommunicationException

Это исключение генерируется, когда клиент не может связаться со службой каталогов или службой именования.

ConfigurationException

Это исключение генерируется, когда возникает проблема с конфигурацией.

ContextNotEmptyException

Это исключение генерируется при попытке уничтожить контекст, который не пуст.

InsufficientResourcesException

Это исключение генерируется, когда для завершения запрошенной операции недостаточно ресурсов.

InterruptedNamingException

Это исключение генерируется, когда операция именования, которая вызывается, была прервана.

InvalidNameException

Это исключение указывает, что заданное имя не соответствует синтаксису именования системы именования.

LimitExceededException

Это исключение генерируется, когда метод завершается аномально из-за превышения заданного пользователем или системой лимита.

LinkException

Это исключение используется для описания проблем, возникающих при разрешении ссылок.

LinkLoopException

Это исключение генерируется, когда при попытке разрешить ссылку был обнаружен цикл или был достигнут реализацией ограниченный лимит количества ссылок.

MalformedLinkException

Это исключение генерируется, когда при разрешении или построении ссылки была обнаружена неправильно сформированная ссылка.

NameAlreadyBoundException

Это исключение генерируется методами, чтобы указать, что привязку добавить нельзя, потому что имя уже связано с другим объектом.

NameNotFoundException

Это исключение генерируется, когда компонент имени не может быть разрешен, потому что он не связан.

NamingException

Это базовый класс всех исключений, генерируемых операциями в интерфейсах Context и DirContext.

NamingSecurityException

Это базовый класс исключений, связанных с безопасностью, генерируемых операциями в интерфейсах Context и DirContext.

NoInitialContextException

Это исключение генерируется, когда не удается создать реализацию начального контекста.

NoPermissionException

Это исключение генерируется при попытке выполнить операцию, на которую у клиента нет разрешения.

NotContextException

Это исключение генерируется, когда операция именования достигает точки, где для продолжения операции требуется контекст, но разрешенный объект не является контекстом.

OperationNotSupportedException

Это исключение генерируется, когда реализация контекста не поддерживает вызываемую операцию.

PartialResultException

Это исключение генерируется, чтобы указать, что возвращаемый или возвращённый до сих пор результат является частичным и что операцию невозможно завершить.

ReferralException

Этот абстрактный класс используется для представления исключения перенаправления, которое генерируется в ответ на перенаправление, такое как возвращаемое серверами LDAP v3.

ServiceUnavailableException

Это исключение генерируется при попытке связи со службой каталогов или службой именования, и эта служба недоступна.

SizeLimitExceededException

Это исключение генерируется, когда метод производит результат, превышающий лимит, связанный с размером.

TimeLimitExceededException

Это исключение генерируется, когда метод не завершается в течение заданного лимита времени.

© 1993, 2020, 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/11/docs/api/java.naming/javax/naming/package-summary.html

Spec-Zone .ru
спецификации, руководства, описания, API