Example usage for javax.naming.event EventContext addNamingListener

List of usage examples for javax.naming.event EventContext addNamingListener

Introduction

In this page you can find the example usage for javax.naming.event EventContext addNamingListener.

Prototype

void addNamingListener(String target, int scope, NamingListener l) throws NamingException;

Source Link

Document

Adds a listener for receiving naming events fired when the object named by the string target name and scope changes.

Usage

From source file:Main.java

public static void main(String[] argv) throws Exception {
    Hashtable<String, String> env = new Hashtable<String, String>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "YourURL");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, "userDN");
    env.put(Context.SECURITY_CREDENTIALS, "secret");
    EventContext ctx = (EventContext) (new InitialContext(env).lookup("ou=People"));

    NamingListener listener = new SampleNCListener();

    ctx.addNamingListener("cn=John", EventContext.ONELEVEL_SCOPE, listener);
}

From source file:RegUnsol.java

public static void main(String[] args) {

    // Set up environment for creating initial context
    Hashtable<String, Object> env = new Hashtable<String, Object>(11);
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDItutorial");

    try {//from   w w  w .ja v a 2s . c  om
        // Get event context for registering listener
        EventContext ctx = (EventContext) (new InitialContext(env).lookup("ou=People"));

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

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

        // Wait 1 minutes for listener to receive events
        try {
            Thread.sleep(60000);
        } catch (InterruptedException e) {
            System.out.println("sleep interrupted");
        }

        // Not strictly necessary if we're going to close context anyhow
        ctx.removeNamingListener(listener);

        // Close context when we're done
        ctx.close();

    } catch (NamingException e) {
        e.printStackTrace();
    }
}