Пакет 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.- С:
- 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, 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/package-summary.html