Spec-Zone.ru › OpenJDK 25

Пакет javax.naming

package 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
Пакет Описание
javax.naming.directory
Расширяет пакет javax.naming, предоставляя функции доступа к службам каталогов.
javax.naming.event
Предоставляет поддержку уведомлений о событиях при доступе к службам именования и каталогов.
javax.naming.ldap
Предоставляет поддержку расширенных операций и элементов управления LDAPv3.
javax.naming.spi
Предоставляет средства для динамического подключения поддержки доступа к службам именования и каталогов через javax.naming и связанные пакеты.
Класс Описание
AuthenticationException
Это исключение возникает при ошибке аутентификации во время доступа к службе именования или каталогов.
AuthenticationNotSupportedException
Это исключение возникает, если запрошенный способ аутентификации не поддерживается.
BinaryRefAddr
Этот класс представляет двоичную форму адреса конечной точки связи.
Binding
Этот класс представляет найденную в контексте связь «имя — объект».
CannotProceedException
Это исключение указывает на то, что операция достигла точки в имени, после которой продолжить ее невозможно.
CommunicationException
Это исключение возникает, если клиент не может установить связь со службой каталогов или именования.
CompositeName
Этот класс представляет составное имя — последовательность компонентов имени, охватывающую несколько пространств имен.
CompoundName
Этот класс представляет составное имя — имя из иерархического пространства имен.
ConfigurationException
Это исключение возникает при проблеме с конфигурацией.
Context
Этот интерфейс представляет контекст именования, состоящий из набора связей «имя — объект».
ContextNotEmptyException
Это исключение возникает при попытке уничтожить непустой контекст.
InitialContext
Этот класс представляет начальный контекст для выполнения операций именования.
InsufficientResourcesException
Это исключение возникает, если для выполнения запрошенной операции недостаточно ресурсов.
InterruptedNamingException
Это исключение возникает, если выполняемая операция именования была прервана.
InvalidNameException
Это исключение указывает, что заданное имя не соответствует синтаксису именования системы именования.
LimitExceededException
Это исключение возникает, если метод завершается аварийно из-за ограничения, заданного пользователем или системой.
LinkException
Это исключение используется для описания проблем, возникающих при разрешении ссылок.
LinkLoopException
Это исключение возникает, если при попытке разрешить ссылку обнаружен цикл или достигнуто ограничение реализации на количество ссылок.
LinkRef
Этот класс представляет объект Reference, содержимым которого является имя, называемое именем ссылки и связанное с атомарным именем в контексте.
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
Это исключение возникает, если метод не завершается в пределах заданного времени.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзор концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.naming/javax/naming/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API