Programación en castellano Añadir una dirección | Buscador | Cursos | Artículos | Foros | Formación

Sistema de Nombrado en Java (JNDI) y II
Autor: Sun
Traductor: Juan Antonio Palos (Ozito)


En esta página:


Misceláneas

Esta sección describe problemas varios adicionales que una implementación de contexto debe manejar.

Manejo de Recursos

El lenguaje de programación Java proporciona recolección de basura automática. Esto significa que cuando un objeto deja de ser referenciado, el sistema de ejecución Java lo elimina. close() da al usuario del API una forma de eliminar un ejemplar de Context y sus recursos asociados antes de que la recolección de basura automática lo recoja. Esto es importante para las implementaciones de contexto basadas en red tanto porque las conexiones de red son un recursos limitado tanto para los clientes como para los servidores. El ejemplo del espacio de nombres plano no proporciona ninguna implementación sustancial para close(). Una implementación real, espacialmente una que manejara conexiones de red, definiría close() para eliminar referencias y conexiones.

Propiedades de Entorno

La lección Las Reglas de Fondo describe como una implemetnación de contexto debería tratar sus propiedades de entorno. Incluso aunque los ejemplos del espacio de nombres plano y del espacio de nombres en forma de árbol no usan propiedades de entorno, deberían proporcionar implementaciones para métodos relacionados con el entorno.

Como se sugirió en la lección Las Reglas de Fondo, getEnvironment() debería proporcionar una cópia de sólo-lectura o un clon de sus propiedades de entorno a su llamador.

Un programa usa addToEnvironment() y removeFromEnvironment() para actualizar un entorno de contexto. El ejemplo del espacio de nombres plano simplemente actualiza su hashtable de entorno interna. Una implementación real examinaría el nombre de la propiedad y actuaría apropiadamente para actualizar el comportamiento del ejemplo Context adecuadamente.

Operaciones no Soportadas

Una implementación de contexto debe proporcionar una implementación válida para lookup(). Para todos los otros métodos, si una implementación de contexto no soporta un método particular, la definición de ese método debería lanzar una OperationNotSupportedException.

Por ejemplo, una implementación de contexto para un servicio de nombres de sólo lectura no puede soportar ningún método que implique actualizaciones. Aquí tenemos un ejemplo de una definición de esa implementación de contexto del método Context.bind().

public void bind(Name obj, Object obj) throws NamingException {
    throw new OperationNotSupportedException(
        "Read-only service does not support updates");
}

Principio Página
© 1999-2002, Programación en castellano, s.l.
Contacto - Datos legales

ReD Internet: Hospedaje Web | envio sms gratis | Salvapantallas | Fondos de Escritorio, famosas | melodias moviles gratis| Gratis