On Mon, May 23, 2011 at 1:10 AM, Richard Evans <[email protected]> wrote: > I'm experimenting with embedding ApacheDS (1.5.8-SNAPSHOT built from trunk) > using configuration beans created in Spring XML along with the > ServiceBuilder. I've attached where I've got to so far - it is not > complete, but I've run into a couple of problems. > > Firstly I get an NPE: > > java.lang.NullPointerException > at > org.apache.directory.server.core.schema.registries.synchronizers.RegistrySynchronizerAdaptor.<init>(RegistrySynchronizerAdaptor.java:123) > at > org.apache.directory.server.core.schema.SchemaPartition.doInit(SchemaPartition.java:224) > at > org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:73) > at > org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1484) > at > org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:962) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at rde.tests.apacheds.LaunchADS.main(LaunchADS.java:49) > > It looks as though the SchemaManager instance is never set on the > SchemaPartition created by DefaultSchemaService. > the SchemaManager won't be created by SchemaPartition automatically rather we need to set it after loading the schema with any of the available schema loaders.
Take a look at the methods initSchemaLdifPartition and initDirectoryService present in ApacheDsService class they might give you an idea. > Secondly, in 1.5.7 the suffix for a partition was a string, now it's a Dn. > There are lots of constructors for the Dn object - which should be used > here? > you can use the one which takes a single string argument while configuring, but in general it is good to use the Dn(SchemaManager, String...) if you have access to the schema manager. > Thanks > > Richard > -- Kiran Ayyagari
