Пакет 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, 2021, 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/17/docs/api/java.naming/javax/naming/package-summary.html