directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject [API][ApacheDS][Studio] Status on the OSGI branch
Date Wed, 23 Nov 2011 15:31:50 GMT
Hi guys,

I wanted to give you a little bit of feedback and ask for status from the other team members
(especially Göktük) working on the OSGI branch.


On the API side, Göktük introduced extensibility for the comparators and syntax checkers
using Apache Felix iPojo.
From what I've seen it works great both as OSGI bundles and plain old jars.


On the Studio side, I'm still struggling with these modifications.
Despite all my efforts and hacks (especially with the 'Bundle-ActivationPolicy' directive
of the MANIFEST.MF file), I'm still unable to load extensible elements of the API within Studio.

Here's a quick recap of the problems I encountered.

At first, I noticed that in Equinox (Eclipse's OSGI container), the iPojo bundle and Shared's
iPojo utilities bundle were not started and their activators not called when I was using the
API

I rebranded the iPojo bundle in Studio's projects to include the 'Bundle-ActivationPolicy'
directive in its MANIFEST.MF file, and also included it in the 'ipojo-manager' of ApacheDS.

This is already a bad hack, but it is still not enough…

Now, both bundles are started at the first time one of their classes is accessed by another
bundle, and their activators are getting called correctly.

However I'm still getting an exception, a NullPointerException.
This NPE occurs when we ask the bundle context for the service references related to iPojo.
Here's a file containing the full stack trace of the exception: [1]

At this point, there should be a service reference for iPojo ready to use, but we get nothing.

This is how far I've managed to go… It is not enough, but I've tried every fix idea I had
and I empty now…
If someone has a clever idea… ;)


On the ApacheDS side, I am able to run a small part of ApacheDS using the 'apache-felix' module
and its Eclipse launch configuration.

At the end of the execution I hit this exception:
org.apache.directory.server.config.ConfigurationException: Cannot initialize the org.apache.directory.server.core.normalization.NormalizationInterceptor,
error : java.lang.ClassNotFoundException: org.apache.directory.server.core.normalization.NormalizationInterceptor
not found by org.apache.directory.server.service.builder [44]
Here's a file containing the full stack trace of the exception: [2]

I think it is, at the moment, the intended behavior since a few things still remain to be
set in ApacheDS to allow it to run successfully within an OSGI container.

Göktük, can you confirm this is the intended behavior please?
More importantly, can you share with us the status of the OSGI-fication of ApacheDS? What
is the purpose of the 'component-hub' you have been working on lately?


I hope we can move forward and find fixes to all the remaining issues quickly on OSGI.
Even if we merge back the modifications from trunk to the OSGI branch very often, it's never
a good idea for a branch to last too long… It usually make the last merge (when merging
back to trunk) a nightmare.

Regards,
Pierre-Arnaud 

[1] - http://cl.ly/C3eB
[2] - http://cl.ly/C3Os
Mime
View raw message