directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiran Ayyagari <kayyag...@apache.org>
Subject Re: Embedding ApacheDS using DirectoryServiceBean etc
Date Mon, 23 May 2011 10:36:23 GMT
On Mon, May 23, 2011 at 3:57 PM, Richard Evans
<richard.evans@datanomic.com> wrote:
> OK, I'll have to rethink.  It's a bit disappointing since we've used XML configuration
for each of the other applications we embed - ActiveMQ, Apache FTP server and Apache SSHD.
>
how about creating a new class which includes just the schema loading
part and configure it in the XML?
> Richard
>
> -----Original Message-----
> From: ayyagarikiran@gmail.com [mailto:ayyagarikiran@gmail.com] On Behalf Of Kiran Ayyagari
> Sent: 23 May 2011 10:53
> To: Apache Directory Developers List
> Subject: Re: Embedding ApacheDS using DirectoryServiceBean etc
>
> On Mon, May 23, 2011 at 3:16 PM, Richard Evans
> <richard.evans@datanomic.com> wrote:
>> OK, I was trying to configure a directory server using configuration beans and the
service builder, as recommended in an earlier mail:
>>
>> "And to achieve a similar configuration like above use the various XXXBean (e.x DirectoryServiceBean)
classes present in server-config module.
>> You can configure them in your spring file and then use ServiceBuilder to create
the respective service/server instances based on these configuration beans."
>>
> well, you can use the beans for *configuring* the server, not to
> launch it or perform some load operations automatically.
>
>> So I guess this is not possible - I need to write some code to create the schema
loader, etc?  In 1.5.7 I could configure everything using an XML file.  I would like to
take this approach so that the configuration can be changed easily by editing the XML rather
than recompiling bits of code.
>>
>> Richard
>>
>> -----Original Message-----
>> From: ayyagarikiran@gmail.com [mailto:ayyagarikiran@gmail.com] On Behalf Of Kiran
Ayyagari
>> Sent: 23 May 2011 10:42
>> To: Apache Directory Developers List
>> Subject: Re: Embedding ApacheDS using DirectoryServiceBean etc
>>
>> On Mon, May 23, 2011 at 2:27 PM, Richard Evans
>> <richard.evans@datanomic.com> wrote:
>>> I'm not sure I get this.  It seems as though using DirectoryServiceBean and
ServiceBuilder just can never work because of this NPE.  Surely that's a bug?  I do create
a schema manager in the XML:
>>>
>>>  <bean class="org.apache.directory.server.config.beans.DirectoryServiceBean"
id="dsb">
>>>    ...
>>>  </bean>
>>>
>>>  <bean id="ds" class="org.apache.directory.server.config.ServiceBuilder"
factory-method="createDirectoryService">
>>>    <constructor-arg ref="dsb"/>
>>>    <constructor-arg ref="il"/>
>>>    <constructor-arg ref="sm"/>
>>>  </bean>
>>>
>>>  <bean id="il" class="org.apache.directory.server.core.InstanceLayout">
>>>    ...
>>>  </bean>
>>>
>>>  <bean id="sm" class="org.apache.directory.shared.ldap.schemamanager.impl.DefaultSchemaManager"/>
>>>
>> what I mean is that the schema manager created in this way is not
>> useful unless a schema loader is set.
>>
>>   the procedure goes like this:
>>
>>        SchemaLoader loader = new LdifSchemaLoader(
>> schemaPartitionDirectory ); // <-- you can also use
>> JarLdifSchemaLoader
>>        schemaManager = new DefaultSchemaManager( loader );
>>
>>        // We have to load the schema now, otherwise we won't be able
>>        // to initialize the Partitions, as we won't be able to parse
>>        // and normalize their suffix Dn
>>        schemaManager.loadAllEnabled();
>>
>> HTH
>>> Richard
>>>
>>> -----Original Message-----
>>> From: ayyagarikiran@gmail.com [mailto:ayyagarikiran@gmail.com] On Behalf Of Kiran
Ayyagari
>>> Sent: 22 May 2011 21:02
>>> To: Apache Directory Developers List
>>> Subject: Re: Embedding ApacheDS using DirectoryServiceBean etc
>>>
>>> On Mon, May 23, 2011 at 1:10 AM, Richard Evans
>>> <richard.evans@datanomic.com> 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
>>>
>>
>>
>>
>> --
>> Kiran Ayyagari
>>
>
>
>
> --
> Kiran Ayyagari
>



-- 
Kiran Ayyagari

Mime
View raw message