Jump to content

Интерфейс именования и каталогов Java

(Перенаправлено с JNDI )

Интерфейс именования и каталогов Java ( JNDI Java ) — это API для службы каталогов , который позволяет программным клиентам Java обнаруживать и искать данные и ресурсы (в форме объектов Java ) по имени. Как и все API Java , взаимодействующие с хост-системами, JNDI не зависит от базовой реализации. Кроме того, он определяет интерфейс поставщика услуг (SPI), который позволяет службы каталогов к платформе. подключать реализации [ 1 ] Информация, полученная через JNDI, может быть предоставлена ​​сервером, плоским файлом или базой данных; выбор зависит от используемой реализации.

Типичные варианты использования JNDI включают:

API-интерфейсы Java RMI и Java EE используют API JNDI для поиска объектов в сети. [ 3 ]

API обеспечивает:

  • механизм привязки объекта к имени
  • интерфейс поиска в каталоге, который позволяет выполнять общие запросы
  • интерфейс событий, который позволяет клиентам определять, когда записи каталога были изменены
  • Расширения LDAP для поддержки дополнительных возможностей службы LDAP.

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

Sun Microsystems впервые выпустила спецификацию JNDI 10 марта 1997 года. [ 4 ] По состоянию на 2006 год , текущая версия — JNDI 1.2.

Базовый поиск

[ редактировать ]

JNDI (Java Naming and Directory Interface) организует свои имена в иерархию. Именем может быть любая строка, например «com.example.ejb.MyBean». Имя также может быть объектом, реализующим Name интерфейс; однако строка является наиболее распространенным способом имени объекта. Имя привязывается к объекту в каталоге путем сохранения объекта или ссылки на объект в службе каталогов, идентифицируемой этим именем.

JNDI API определяет контекст, который указывает, где искать объект. Исходный контекст обычно используется в качестве отправной точки.

В простейшем случае необходимо создать исходный контекст с использованием конкретной реализации и дополнительных параметров, необходимых для реализации. Исходный контекст будет использоваться для поиска имени. Начальный контекст аналогичен корню или вершине дерева каталогов файловой системы. Ниже приведен пример создания начального контекста:

Hashtable contextArgs = new Hashtable<String, String>();

// First you must specify the context factory.
// This is how you choose between jboss implementation
// vs. an implementation from Sun or other vendors.
contextArgs.put( Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory" );

// The next argument is the URL specifying where the data store is:
contextArgs.put( Context.PROVIDER_URL, "jndiprovider-database" );

// (You may also have to provide security credentials)

// Next you create the initial context
Context myCurrentContext = new InitialContext(contextArgs);

Затем контекст используется для поиска ранее связанных имен в этом контексте. Например:

MyBean myBean = (MyBean)  myCurrentContext.lookup("com.mydomain.MyBean");

Альтернатива приведенному выше коду выглядит следующим образом:

Объект Context также можно настроить, добавив файл jndi.properties в путь к классам, содержащий имя класса исходной фабрики контекста и URL-адрес поставщика. Приведенный выше код будет сокращен, как показано ниже:

//just need to create initial context object, it will try to read jndi.properties file from the classpath.
Context myCurrentContext = new InitialContext();

Затем контекст используется для поиска ранее связанных имен в этом контексте. Например:

MyBean myBean = (MyBean)  myCurrentContext.lookup("com.mydomain.MyBean");

Идет поиск

[ редактировать ]

Атрибуты могут быть прикреплены к специальным записям, называемым каталогами. Каталоги позволяют осуществлять поиск объектов по связанным с ними атрибутам. Каталоги — это тип контекста; они ограничивают пространство имен так же, как это делает структура каталогов в файловой системе. [ 5 ]

См. также

[ редактировать ]
  1. ^ «Java SE — Основные технологии — Интерфейс именования и каталогов Java (JNDI)» . www.oracle.com . Проверено 17 декабря 2016 г.
  2. ^ «Практическое руководство по ресурсам JNDI» . Руководство пользователя Apache Tomcat 7 . Фонд программного обеспечения Apache . Проверено 21 января 2014 г.
  3. ^ «Поставщик услуг реестра JNDI/RMI» . docs.oracle.com . Проверено 17 декабря 2016 г.
  4. ^ «SUN MICROSYSTEMS, INC. ПРЕДСТАВЛЯЕТ API ИМЕНОВАНИЯ JAVA И ИНТЕРФЕЙСА СПРАВОЧНИКОВ» . Sun.com . 10 марта 1997 г. Архивировано из оригинала 8 сентября 2004 г.
  5. ^ «Фильтры поиска» . docs.oracle.com . Проверено 17 декабря 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e6423a4495d66a468baef17d463b5299__1647500880
URL1:https://arc.ask3.ru/arc/aa/e6/99/e6423a4495d66a468baef17d463b5299.html
Заголовок, (Title) документа по адресу, URL1:
Java Naming and Directory Interface - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)