I have been using ApacheDS for a couple of weeks and I'm enjoying the ride so far. It seems the initial focus has been flexibility at the front-end, and pluggability at the back-end will be eased when OSGi support is added in a future release.
My immediate concern is supporting a custom back-end LDAP partition which has its own schema, prior to the availability of RFC 3672 support (which sounds like it will smooth the way in the future). I have plugged in my custom LDAP AbstractContextPartition successfully (using the IETF LDAP classes to convert JNDI back to LDAP) and have written some support classes which fetch the remote
org.ietf.ldap.LDAPSchema (during doInit() using some credentials known from the partition's configuration properties) and internalise it into the org.apache.ldap.server.schema.GlobalRegistries instance (noting in the future AbstractBootstrapProducer should ideally inherit from an abstract intermediate class to ease writing of classes like mine which create non-bootstrap instances of classes extending AbstractAttributeType/AbstractSchemaObject etc) . ...what a sentence...
My question is: what is the best way to get the ApacheDS server's org.apache.ldap.server.schema.SchemaService to notice that additions have been made to the GlobalRegistries. I notice the addition of AddContextPartitionConfiguration in ApacheDS
0.9.2, but I'm not sure hwo to configure its use via an ApacheDS configuration file (or even if it is indeed the answer to my problems). Failing that the only other approach I can think of is to get the startup infrastructure to create a back-end InitialContext very early so that my custom partition is queried for its schema just after the bootstrap schemas are processed, which sounds a very experimental path to follow.
Note that attempting to refresh the schema via JXplorer never seems to have any effect (I imagine that somewhere in the server it is assumed that there are only bootstrap schemas).
Any guidance would be very much appreciated!