Skip to content
Java Naming and Directory Interface

Java Naming and Directory Interface

JNDI est système d’annuaire générique. Il sait gérer “out-of-box” : LDAP, DNS, NIS, NDS, RMI et CORBA.

packages JNDI

  • javax.naming Manipulation des associations.

  • javax.naming.directory Manipulation des répertoires.

  • javax.naming.event Traitement des évènements en provenance de l’annuaire.

  • javax.naming.ldap API spécialisée pour les annuaires compatibles LDAP.

  • javax.naming.spi API de programmation des pilotes JNDI.

Bind d’un objet

	import javax.naming.Context;
	import javax.naming.InitialContext;
	import javax.naming.NamingException;
	
	public class Bind
	{
	
	 public static String BIND = "drazzib/test";
	
	 public static void main (String[] args) 
	 {
	   Object object = "DATA";
	
	   try 
	   {
	    Context initialContext = new InitialContext();
	    initialContext.bind(BIND, object);
	    System.out.println("Bound object to name: " + BIND);
	   }
	   catch (NamingException e) 
	   {
	    System.err.println("Unable to bind (" + object + ") to the name '" + BIND + "'");
	    e.printStackTrace();
	   }   
	 }
	}

Lookup d’un objet

	import javax.naming.Context;
	import javax.naming.InitialContext;
	import javax.naming.NamingException;
	
	public class Lookup
	{
	 public static void main (String[] args) 
	 {
	   try 
	   {
	    Context initialContext = new InitialContext();
	    Object object = initialContext.lookup(Bind.BIND);
	
	    if ( object instanceof java.lang.String) 
	    {
	     String s = (String) object;
	     System.out.println("Looked up this object: " + s);
	    }
	    else 
	    {
	     System.err.println("Object is not of type " + "java.lang.String");
	    }
	   }
	   catch (NamingException e) 
	   {
	    System.err.println("Unable to find an object bound to the name " + Bind.BIND);
	   }   
	 } 
	}

Références