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

Sistema de Nombrado en Java (JNDI) [Parte I]
Autor: Sun
Traductor: Juan Antonio Palos (Ozito)


En esta página:


Notificaciones de LDAP no Solicitadas

El LDAP v3 (RFC 2251) define un notificación no solicitada, un mensaje que es envíado por un servidor LDAP al cliente sin ninguna provocación por parte del cliente. Una notificación no solicitada está representada en el JNDI por el inteface UnsolicitedNotification.

Como las notificaciones no solicitadas las envía el servidor de forma asíncrona, podemos usar el mismo modelo de eventos usado para recibir notificaciones sobre cambios en el espacio de nombres y en contenidos de objetos. Registramos el interés en notificaciones no solicitadas registrando un UnsolicitedNotificationListener con un EventContext o un EventDirContext.

Aquí tenemos un ejemplo de un UnsolicitedNotificationListener.

public class UnsolListener implements UnsolicitedNotificationListener {
    public void notificationReceived(UnsolicitedNotificationEvent evt) {
        System.out.println("received: " + evt);
    }

    public void namingExceptionThrown(NamingExceptionEvent evt) {
        System.out.println(">>> UnsolListener got an exception");
	    evt.getException().printStackTrace();
    }
}

Abajo tenemos un ejemplo que registra una implementación de UnsolicitedNotificationListener con una fuente de eventos. Observa que sólo es importante el argumento listener de EventContext.addNamingListener().

Los parámetros name y scope no son importantes para las notificaciones no solicitadas.

// Get the event context for registering the listener
EventContext ctx = (EventContext)
    (new InitialContext(env).lookup("ou=People"));

// Create the listener
NamingListener listener = new UnsolListener();

// Register the listener with the context (all targets equivalent)
ctx.addNamingListener("", EventContext.ONELEVEL_SCOPE, listener);

Cuando ejecutamos este programa, necesitamos apuntar a un servidor LDAP que pueda generar notificaciones no solicitadas y provoque que el servidor emita la notificiación. De otra forma después de un minuto, el programa saldrá silenciosamente.

Un oyente que implementa UnsolicitedNotificationListener también puede implementar otros interfaces NamingListener, como NamespaceChangeListener y ObjectChangeListener.


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