WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Java Naming and Directory Interface (JNDI) — это набор Java API, организованный в виде службы каталогов, который позволяет Java-клиентам открывать и просматривать данные и объекты по их именам. Как любое другое Java API, как набор интерфейсов, JNDI не зависит от нижележащей реализации. В дополнению к этому, он предоставляет реализацию service provider interface (SPI), которая позволяет службам каталогов работать в паре с каким-либо фреймворком. Это может быть сервер, файл или база данных[1].

Концепция JNDI основана на двух основных определениях: ассоциация и контекст. Ассоциация (англ. binding) — это соответствие JNDI-имени и объекта. Контекст (англ. context) — это среда, в которой хранится набор ассоциаций между объектами и именами.

Архитектура

Архитектура JNDI

Сервисы Java RMI и Java EE API используют подходы, описанные в JNDI API, для поиска объектов в сети. API предоставляет:

  • механизм ассоциации (связывания) объекта с именем;
  • интерфейс просмотра каталогов для выполнения общих запросов;
  • интерфейс событий, который позволяет определить клиентам, когда элементы каталога были изменены;
  • LDAP-расширение для поддержки дополнительных возможностей LDAP-сервисов.[2]

SPI часть интерфейсов позволяет поддерживать практически любой тип именования каталогов, включая:

Создание контекста

Для обращения к контексту и работы с JNDI требуется импорт и взаимодействие с API и классами из пакета javax.naming. [4]

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

В простейшем случае, из метода main() создаётся начальный контекст. Тип именования каталогов указывается с помощью установки переменных среды. Один из вариантов их установки — использование объекта типа Hashtable, который передаётся в конструктор класса InitialContext:

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
Context ctx = new InitialContext(env);

Извлечь ранее сохранённый объект из контекста возможно с помощью вызова Context.lookup() на объекте контекста:[5]

Object obj = ctx.lookup("/com/sampleproject/SampleObject");

Примечания

  1. Oracle Documentation. JNDI Concepts. docs.oracle.com. docs.oracle.com. Проверено 5 июня 2017.
  2. Служба имен и каталогов JNDI. java-online.ru. Проверено 5 июня 2017.
  3. Oracle Documentation. JNDI Overview. docs.oracle.com. docs.oracle.com.
  4. javax.naming. Java Platform SE 8 API Documentation.
  5. Naming Example. Oracle Tutorial.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии