Previous | Next | Trail Map | Tips for LDAP Users | Comparison of the LDAP and JNDI Models

LDAP Operations and JNDI Mapping

The LDAP defines a set of operations or requests (see RFC 2251). In the JNDI, these map to operations on the DirContext(in the API reference documentation) and LdapContext(in the API reference documentation) interfaces (which are subinterfaces of Context(in the API reference documentation)). For example, when a caller invokes a DirContext method, the LDAP service provider implements the method by sending LDAP requests to the LDAP server.

The following table shows how operations in the LDAP correspond to JNDI methods.

LDAP Operation Corresponding JNDI Methods
bind The corresponding way of creating an initial connection to the LDAP server in the JNDI is the creation of an InitialDirContext(in the API reference documentation) . When it creates an initial context, the application supplies client authentication information via environment properties. To change that authentication information for an existing context, use the methods Context.addToEnvironment()(in the API reference documentation) and Context.removeFromEnvironment()(in the API reference documentation).
unbind The Context.close()(in the API reference documentation)method is used to free resources used by a context. It is different from the LDAP "unbind" operation in that within a given service provider implementation, resources can be shared among contexts, so closing one context won't free all the resources if those resources are being shared with another context. Make sure to close all contexts if your intent is to free all the resources.
search The corresponding method in the JNDI is the overload of DirContext.search()(in the API reference documentation) that accepts a search filter (RFC 2254). See the Basics (in the Basics trail) trail for an example. Also, see the Search (in the Tips for LDAP Users trail) lesson for more examples.
modify The corresponding method in the JNDI is the overload of DirContext.modifyAttributes()(in the API reference documentation) that accepts an array of DirContext.ModificationItems(in the API reference documentation). See the Basics (in the Basics trail) trail for an example.
add The corresponding methods in the JNDI are DirContext.bind()(in the API reference documentation) and DirContext.createSubcontext()(in the API reference documentation) . You can use either of these methods to add a new LDAP entry. Using bind(), in addition to specifying a set of attributes for the new entry, you can also specify a Java object to be added with the attributes. See the Basics (in the Basics trail) trail for examples of both.
delete The corresponding methods in the JNDI are Context.unbind()(in the API reference documentation) and Context.destroySubcontext()(in the API reference documentation) . You can use either of these methods to remove an LDAP entry.
modify DN/RDN The corresponding method in the JNDI is Context.rename()(in the API reference documentation) . See the Miscellaneous (in the Tips for LDAP Users trail) lesson for more details.
compare The corresponding operation in the JNDI is a DirContext.search()(in the API reference documentation) with the attribute value pair specified in the matchingAttributes parameter and an empty array for the attributesToReturn parameter.
abandon When you close a context, all of its outstanding requests are abandoned. Similarly, when you close a NamingEnumeration(in the API reference documentation) , the corresponding LDAP "search" request is abandoned.
extended operation The corresponding method in the JNDI is LdapContext.extendedOperation()(in the API reference documentation) . See the Controls and Extensions (in the Tips for LDAP Users trail) lesson for more details.


Previous | Next | Trail Map | Tips for LDAP Users | Comparison of the LDAP and JNDI Models