Что такое JNDI и нужно ли оно для создания сайтов - PullRequest
5 голосов
/ 12 февраля 2011

Я изучаю Java и Spring для веб-сайтов.Несколько раз я вижу слово JNDI.Что это такое и нужно ли мне его изучать или оно мне нужно в процессе создания веб-приложения?

Ответы [ 2 ]

3 голосов
/ 27 февраля 2011

JNDI - это удобный способ для приложения сказать «мне нужен ресурс X», а для контейнера (например, Tomcat) сказать «ресурс X доступен, посмотрите здесь или там, где X фактически настроен».

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

Хорошие примеры нак JNDI относятся источники данных базы данных, ссылки на серверы электронной почты SMTP, области безопасности и т. д.

Думайте о JNDI как о HashMap, где ключом является String, а значением является либоконкретный объект или другой HashMap той же структуры.Поэтому поиск значения, такого как jndi://a/b, приведет к переходу на карту верхнего уровня, нахождению ключа a и ожиданию, что его значение будет другой картой.Тогда ключ b будет найден в этой подкарте, и соответствующее значение будет возвращено пользователю.

2 голосов
/ 12 февраля 2011

Java Naming and Directory Interface (JNDI) - это Java API для службы каталогов, который позволяет программным клиентам Java обнаруживать и искать данные и объекты по имени.Как и все API Java, которые взаимодействуют с хост-системами, JNDI не зависит от базовой реализации.Может быть, вы можете использовать его, но я никогда не пробовал!

...