我正在尝试使用带有openldap连接的ObjectChangeListener。 我有以下java代码
public class MyListener implements ObjectChangeListener
{
// Here my class variable
public MyListener (DirContext ldapContext, String myDn) throws InternalException
{
try
{
// Make a new connection without pooling
Hashtable env = new Hashtable(ldapContext.getEnvironment());
// env is set by other classes : in our case we use the factory java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
InitialDirContext localContext = new InitialDirContext(env);
// Get the EventContext for registering the listener
evtCtx = (EventContext) localContext.lookup("");
localContext.close();
// Register the listener for namespace change events
evtCtx.addNamingListener(myDn, EventContext.OBJECT_SCOPE, this);
}
catch (NamingException e)
{
throw new InternalException("Error while registering my listener");
}
}
//some methods
}
当我创建一个新的MyListenerObject时,我的openLdap服务器发送了以下错误。
javax.naming.OperationNotSupportedException:[LDAP:错误代码12 - 无法识别关键扩展名];剩余名称'ou = MyOU,O = MyOrg'
我不知道我需要做什么(或者如果可能的话)创建一个OpenLdap的ObjectListener。
THX
答案 0 :(得分:0)
你做不到。截至当前版本(2.4),OpenLDAP不支持它。