On 11/16/2010 7:31 AM, Guillaume Nodet wrote:
Is there a description about how the spec jars work in OSGi ?
I recall some discussion a long time ago, but i'd like to undestand
what he main differences wrt the ServiceMix Specs jars are?
Should we (ServiceMix) start to use the Geronimo ones instead ? That's
the question I'd like to have an answer at.
In which case, should we start pushing out from Geronimo non-j2ee
specs like javax.scripting and others ...

The current Geronimo version is not too different from what the servicemix spec jars are doing. There is an Activator added to each jar and a locator class that can check a registry to resolve classes that implement a particular interface. All of the specs that need to load implementation classes use that locator to perform the lookups. There are some key differences:

1) The META-INF services processing and the tests for inside OSGi/outside OSGi have been moved into the locator methods. 2) Rather than each bundle doing its own provider tracking, there is a registry bundle that performs that function. The locator methods will use the registry if the service is available and fall back to load from the classpath behavior when the service isn't. This requires that the registry bundle also be started in the framework.

I certainly don't have any objections to additional specs getting added to the Geronimo collection. Alan Cabrera did this recently for JSR319 for example.

Rick

Reply via email to