On Wed, Apr 16, 2008 at 5:20 PM, Guillaume Nodet <[EMAIL PROTECTED]> wrote:

> However, lots of these spec jars define factories (stax, saaj for example)
> that use the META-INF/services/ discovery mechanism to find an
> implementation of the spec and load it.  This mechanism does not fit well in
> OSGi (really, it does not), mainly because usually, the classloader
> containing the spec jar will not contain the implementation.
>  I'd like to work on these spec jars so that they will contain an OSGi
> BundleActivator that would change the behavior of these factories when
> deployed in an OSGi environment (without changing the behavior in other
> case).  The idea is that the activator would scan OSGi bundles when they are
> started to find META-INF/services and populate a map that would be used by
> the factory when creating an object before using the standard mechanism.

Just to ensure I'm following, you are about to create a activator that
would be a bundle listener (o.o.f.BundleListener) and whenever a
bundle is registered the activator will scan it for provided services?
Can you explain how osgi works now without these
META-INF/services-based services? Doesn't it use them at all?

> The only real difference compared to what we currently have would be the
> addition of a package named org.apache.geronimo.specs.stax (for example)
> that would contain the needed classes (i suppose two classes), and the
> modification of the factories to delegate to one of these class before using
> the standard behavior (the class would do nothing if not deployed in an OSGi
> environment).
>  Has anyone any objection with such an enhancement in the specs jar ?

Unless I'm mistaken it shouldn't cause any troubles on non-osgi
environments and big +1 for the upcoming changes.

Jacek

-- 
Jacek Laskowski
http://www.JacekLaskowski.pl

Reply via email to