Пакет 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 | Интерфейс |
| 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