La secci�n Objetos Java y el Directorio nos mostr� c�mo almacenar y leer objetos Java desde el directorio. Espec�ficamente, la lecci�n Directorios LDAP explic� como los objetos Java son representados como atributos en un directorio LDAP.
La lecci�n Directorios LDAP y la RFC 2713 describen la representaci�n de una Reference como varios atributos LDAP. Por defecto, se usa el car�cter almohadilla ("#") para codificar el RefAddr en la Reference. Si este caracter ya aparece en el contenido de la RefAddr, necesitaremos usar otro caracter. Hacemos esto configurando la propiedad de entorno "java.naming.ldap.ref.separator" con un string que contenga un separador de caracteres.
Aqu� tenemos un ejemplo. Si ejecutamos el ejemplo de referencia y luego examinamos la entrada "cn=favorite" en el directorio, veremos los siguientes atributos:
objectclass: top, javaContainer, javaObject, javaNamingReference javaclassname: Fruit javafactory: FruitFactory javareferenceaddress: #0#fruit#orange cn: favorite
Podemos modificar este ejemplo para que use el caracter dos puntos (":") como separador, de esta forma:
// Ask to use ":" as the encoding character
env.put("java.naming.ldap.ref.separator", ":");
// Create the initial context
DirContext ctx = new InitialDirContext(env);
// Create the object to be bound
Fruit fruit = new Fruit("orange");
// Perform the bind
ctx.rebind("cn=favorite", fruit);
El programa modificado produce los siguientes atributos:
objectclass: top, javaContainer, javaObject, javaNamingReference javaclassname: Fruit javafactory: FruitFactory javareferenceaddress: :0:fruit:orange cn: favorite