Apache LDAP API 1.0 to 2.0 migration guide
Main differences
The Apache LDAP API V 2.0 is not very different from the 1.0 version. However, a few classes have been renamed, removed or added.
Value
Those classes/interface were removed :
- AbstractValue
- BinaryValue
- StringValue
They are all replaced by a single class, Value, that is not anymore parametered.
We now have to use the Value class only. That is not a really big trouble, as everywhere you were using Value>*, you just have to remove the *>.
Do not anymore use new BinaryValue( byte[] ) or new StringValue( String ), just do new Value( byte[] ) and new Value( String ).
There are a few methods that has changed, like getValues() that now always returns a String (even for a byte[], which will be dumped as a hexadecimal string). If you want to get the byte[] from the Value, use getBytes().
Connection pool
We have moved to commons-pool 2.5, which means there is some incompatibility with the previous pool configuration.
Typically, when configuring a LdapConnectionPool, you have to pass a PooledObjectFactory instead of a PoolableObjectFactory.