Пакет 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. Спецификация пакета
Спецификация API JNDI и связанные документы можно найти в документации JNDI.- Since:
- 1.3
| Класс | Описание |
|---|---|
| AuthenticationException | Исключение выбрасывается при возникновении ошибки аутентификации при доступе к службе именования или каталога. |
| AuthenticationNotSupportedException | Это исключение выбрасывается, когда запрашиваемый тип аутентификации не поддерживается. |
| BinaryRefAddr | Этот класс представляет двоичную форму адреса конечной точки связи. |
| Binding | Этот класс представляет привязку имя-объект, найденную в контексте. |
| CannotProceedException | Это исключение выбрасывается для указания того, что операция достигла точки в имени, где дальнейшее выполнение невозможно. |
| CommunicationException | Это исключение выбрасывается, когда клиент не может установить связь со службой каталогов или службой именования. |
| CompositeName | Этот класс представляет составное имя — последовательность имен компонентов, охватывающих несколько пространств имен. |
| CompoundName | Этот класс представляет составное имя — имя из иерархического пространства имен. |
| ConfigurationException | Это исключение выбрасывается при наличии проблемы с конфигурацией. |
| Context | Этот интерфейс представляет контекст именования, состоящий из набора привязок имя-объект. |
| ContextNotEmptyException | Это исключение выбрасывается при попытке уничтожить непустой контекст. |
| InitialContext | Этот класс является начальным контекстом для выполнения операций именования. |
| InsufficientResourcesException | Это исключение выбрасывается, когда для завершения запрошенной операции недостаточно ресурсов. |
| InterruptedNamingException | Это исключение выбрасывается, когда операция именования, на которую ссылаются, была прервана. |
| InvalidNameException | Это исключение указывает на то, что заданное имя не соответствует синтаксису именования системы именования. |
| LimitExceededException | Это исключение выбрасывается, когда метод завершается аномально из-за превышения пользователем или системой заданного ограничения. |
| LinkException | Это исключение используется для описания проблем, возникших при разрешении ссылок. |
| LinkLoopException | Это исключение выбрасывается при обнаружении цикла при попытке разрешить ссылку или достижении реализации ограничений на количество ссылок. |
| LinkRef | Этот класс представляет ссылку, содержимое которой является именем, называемым именем ссылки, которое привязано к атомному имени в контексте. |
| MalformedLinkException | Это исключение выбрасывается при обнаружении неправильной ссылки при разрешении или построении ссылки. |
| Name | Интерфейс Name представляет обобщенное имя — упорядоченную последовательность компонентов. |
| NameAlreadyBoundException | Этот метод выбрасывает исключение, чтобы указать, что привязку добавить нельзя, потому что имя уже привязано к другому объекту. |
| NameClassPair | Этот класс представляет пару имени объекта и имени класса привязки, найденную в контексте. |
| NameNotFoundException | Это исключение выбрасывается, когда компонент имени не может быть разрешен, так как он не привязан. |
| NameParser | Этот интерфейс используется для разбора имен из иерархического пространства имен. |
| NamingEnumeration<T> | Этот интерфейс предназначен для перечисления списков, возвращаемых методами в пакетах javax.naming и javax.naming.directory. |
| NamingException | Это базовый класс всех исключений, выбрасываемых операциями в интерфейсах Context и DirContext. |
| NamingSecurityException | Это базовый класс исключений, связанных с безопасностью, выбрасываемых операциями в интерфейсах Context и DirContext. |
| NoInitialContextException | Это исключение выбрасывается, когда не может быть создана реализация начального контекста. |
| NoPermissionException | Это исключение выбрасывается при попытке выполнить операцию, на которую у клиента нет разрешения. |
| NotContextException | Это исключение выбрасывается, когда операция именования доходит до точки, где требуется контекст для продолжения операции, но разрешенный объект не является контекстом. |
| OperationNotSupportedException | Это исключение выбрасывается, когда реализация контекста не поддерживает вызываемую операцию. |
| PartialResultException | Это исключение выбрасывается для указания того, что возвращаемый или частично возвращенный результат является частичным и что операция не может быть завершена. |
| RefAddr | Этот класс представляет адрес конечной точки связи. |
| Reference | Этот класс представляет ссылку на объект, который находится вне системы именования/каталога. |
| Referenceable | Этот интерфейс реализуется объектом, который может предоставить ссылку на себя. |
| ReferralException | Этот абстрактный класс используется для представления исключения пересылки, которое генерируется в ответ на пересылку, например, возвращаемую серверами LDAP v3. |
| ServiceUnavailableException | Это исключение выбрасывается при попытке установить связь со службой каталогов или службой именования, если эта служба недоступна. |
| SizeLimitExceededException | Это исключение выбрасывается, когда метод генерирует результат, превышающий ограничение по размеру. |
| StringRefAddr | Этот класс представляет строковую форму адреса конечной точки связи. |
| TimeLimitExceededException | Это исключение выбрасывается, когда метод не завершается в течение заданного лимита времени. |
© 1993, 2023, 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/21/docs/api/java.naming/javax/naming/package-summary.html