Registering for Namespace Changes in the Directory : Directory « JNDI LDAP « Java

Registering for Namespace Changes in the Directory


import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.event.EventContext;
import javax.naming.event.NamespaceChangeListener;
import javax.naming.event.NamingEvent;
import javax.naming.event.NamingExceptionEvent;
import javax.naming.event.NamingListener;

public class Main {
  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);

class SampleNCListener implements NamespaceChangeListener {
  public SampleNCListener() {

  public void objectAdded(NamingEvent evt) {

  public void objectRemoved(NamingEvent evt) {

  public void objectRenamed(NamingEvent evt) {

  public void namingExceptionThrown(NamingExceptionEvent evt) {


Related examples in the same category

1.Creating an Initial Context to a Directory
2.Reading an Object's Attributes from the Directory
3.Modifying an Object's Attributes in the Directory
4.Creating a Directory Entry
5.Adding a Binding with Attributes to the Directory
6.Performing a Basic Directory Search
7.Searching the Directory by Using a Search Filter
8.Searching a Subtree in the Directory
9.Cancelling a Directory Search
10.Getting an Object's Schema from the Directory
11.Getting an Attribute's Schema from the Directory
12.Authenticating to the Directory
13.Registering for Object Changes in the Directory