Sistema de Nombrado en Java (JNDI) y II

El ejemplo de espacio de nombres plano usa almacenamiento en memoria; no soporta persistencia. Si una implementaci�n de contexto soporta persistencia o no, est� determinado por el servicio de nombres/directorio subyacente o los requerimientos del proveedor de servicio.

Aqu� est� la implementaci�n de lookup():

public Object lookup(Name name) throws NamingException {
    if (name.isEmpty()) {
        // Ask to look up this context itself; create and return
        // a new instance that has its own independent environment.
        return (createCtx(myEnv));
    } 

    // Extract the components that belong to this namespace
    String nm = getMyComponents(name);

    // Find the object in the internal hash table
    Object answer = bindings.get(nm);
    if (answer == null) {
        throw new NameNotFoundException(name + " not found");
    }
    return answer;
}

De acuerdo a la especificaci�n JNDI, una lookup() de un nombre vac�o deber�a devolver una copia del propio contexto. Despu�s de extraer el componente que pertenece a ese espacio de nombres, la implementaci�n procede a buscar la uni�n nombrada desde su estructura de datos interna-- una hashtable. Si no la encuentra, lanza una NameNotFoundException. En una implementaci�n real, acceder�amos al servicio de nombres/directorio subyacente en lugar de acceder al hashtable.

Este ejemplo no sopota enlaces de referencias, por eso este m�todo no busca los LinkRefs o los trata especialmente.

.�LookupLink

Esta definici�n de ejemplo de lookupLink() es la misma que su definici�n de lookup(). Este ejemplo no soporta enlaces de referencias. Puedes ver una descripci�n de c�mo soportar enlaces de referencia en la lecci�n Miscel�nea.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR