En esta página: Almacenar Objetos 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
|