Какова цель JNDI

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

Здесь немногие ссылки , что я нашел, чтобы полезные экранные демонстрации Vim показали Вам, к чему это способно.

А хороший совет, который Bram Moolenaar (доброжелательный диктатор Vim) дал в той последней ссылке, - то, что это было бы неэффективно, чтобы попытаться изучить каждую команду и функцию, просто выяснило бы то, чем случается так, что Вы делаете, который не работает очень хорошо, ищите способ сделать это более эффективным и затем сделать это привычкой.

87
задан Ajay 29 August 2009 в 08:03
поделиться

2 ответа

JNDI - это интерфейс именования и каталогов Java. Он используется для разделения задач разработчика приложения и разработчика приложения . Когда вы пишете приложение, основанное на базе данных, вам не нужно беспокоиться об имени пользователя или пароле для подключения к этой базе данных. JNDI позволяет разработчику давать имя базе данных и полагаться на то, что разработчик сопоставит это имя с фактическим экземпляром базы данных.

Например, если вы пишете код, который выполняется в контейнере Java EE, вы можно написать это, чтобы получить источник данных с именем JNDI "База данных":


DataSource dataSource = null;
try
{
    Context context = new InitialContext();
    dataSource = (DataSource) context.lookup("Database");
}
catch (NamingException e)
{
    // Couldn't find the data source: give up
}

Обратите внимание, что здесь нет ничего о драйвере базы данных, или имени пользователя, или пароле. Это настраивается внутри контейнера.

JNDI не ограничивается базами данных (JDBC); всевозможным службам можно давать имена. Для получения более подробной информации обратитесь к руководству Oracle .

107
ответ дан 24 November 2019 в 07:49
поделиться

JNDI - это очень мощный механизм как для организации информации о конфигурации, так и для обнаружения и прослушивания служб с помощью EventContext . В JNDI вы можете искать и прослушивать любой объект (а не только DataSource s), если ваш поставщик услуг JNDI поддерживает его.

Конечно, единственная проблема заключается в наличии поставщика услуг JNDI; Самое замечательное в этом то, что на удивление легко свернуть свою собственную. В конце концов, вы можете кодировать любой экземпляр Java в XML , используя JavaBeans XMLEncoder и XMLDecoder : вам не нужно полагаться на запуск внутри сервера приложений!

Так в чем разница между наличием файлов конфигурации? Хорошо, он может быть намного чище, потому что все ваши приложения могут получить свою конфигурацию из одного и того же места . Если им необходимо совместно использовать информацию о конфигурации (например, расположение базы данных), то это можно определить один раз в JNDI . Предположим, вы переместили серверы баз данных: вам не нужно запоминать файлы конфигурации gazillion с указанием их местоположения. Вы просто идете в одно место: JNDI.

29
ответ дан 24 November 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: