Java Naming and Directory Interface (JNDI)
The Java Naming and Directory Interface (JNDI) provides naming and directory functionality to applications written in the Java programming language. It is designed to be independent of any specific naming or directory service implementation. Thus a variety of services--new, emerging, and already deployed ones--can be accessed in a common way.
The JNDI architecture consists of an API (Application Programming Interface) and an SPI (Service Provider Interface). Java applications use this API to access a variety of naming and directory services. The SPI enables a variety of naming and directory services to be plugged in transparently, allowing the Java application using the API of the JNDI technology to access their services.
API and SPI Specification
- JNDI API and SPI Specification - A list of the packages included in the JNDI technology.
Tutorials
- Java Naming and Directory Interface Trail, part of the Java Tutorial.
- JNDI Tutorial - A tutorial introduction to the JNDI technology with programming examples.
API Enhancements
More Information
- The JNDI Home Page
- JNDI Architecture Documents:
- JNDI Service Providers:
To use JNDI with a particular naming or directory service, you need a JNDI service provider, which is a module that plugs in beneath the JNDI API to access the naming or directory service.
The Java SE release includes the following service providers:

