Aleksander Adamowski (Migrated from SEC-1075) said:
The tag (see http://static.springframework.org/spring-security/site/reference/html/ldap.html#d4e1399) allows starting an embedded Apache DS instance.
It currently uses Apache DS version 1.0.2. The latest Apache DS version is 1.5.4.
The 1.5 branch of Apache DS has numerous improvements over 1.0, and is more stable and faster than 1.0. Unlike 1.0 it’s also actively maintained.
It has additional features that are important for unit and integration testing (which tag is intended for) like support for dynamic schema and dynamic configuration.
For those reasons Spring Security should be updated to use the newer Apache DS branch.
Luke Taylor said:
The use of with an embedded server is really only intended for testing purposes so issues like performance aren’t a major concer n Ultimately we will ugrade but it won’t be a priority issue. Feel free to submit a patch if you would like to see this added to 2.5.
Aleksander Adamowski said:
Agreed that performance is not an issue, however the dynamic schema functionality is really a great asset for tests. Without it you can’t easily perform tests with data that doesn’t conform to the basic schema the Apache DS 1.0 start with by default.
I’ve currently resorted to using org.apache.directory.server.integ.SiRunner from Apache DS 1.5.4 for my tests.
However, if I get back to using tag and have to modify Spring-Security for that, I’ll certainly submit a patch.
I’m not famiiar of the latest features in 1.5, but I’m sure you’re right that there would be some useful stuff in there. If I get some time I’ll take a look at how things have changed in setting up an embedded configuration.
I've updated the dependency to the new Apacheds 1.5.5 and modified our classes to use this. Seems to be working OK with the namespace and LDAP integration tests. There is probably some scope for further refactoring, but it will do for now.