JNDI - это интерфейс именования и каталогов Java. Он используется для разделения проблем приложения developer и приложения deployer . Когда вы пишете приложение, основанное на базе данных, вам не нужно беспокоиться об имени пользователя или пароле для подключения к этой базе данных. 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); всевозможные услуги могут быть названы. Для получения более подробной информации вы можете обратиться к Sun учебник по теме.