That's a difficult topic. Take a look at the following: - http://aries.apache.org/modules/spi-fly.html - RFC 167: http://www.osgi.org/download/osgi-early-draft-2011-09.pdf
Jeremias Maerki On 11.05.2012 08:07:30 Michael Gruebsch wrote: > Hello, > > I have a bunch of JAR files from open source projects which > rely heavily on the ServiceLocator pattern META-INF/services. > > For each of these JARs I want to build a corresponding OSGI > bundle. Is there any standardized way how to map META-INF/services > to OSGI services such that the dependencies between the JARS > still work? As far as I know this is necessary because of the > class loaders architecture which is different between the > META-INF/services and the OSGI pattern. > > Here is an example > > JARS > > JAR X JAR Y > > defines an implements org.a.X > interface org.a.X with class net.b.Y > > looks up has a file > implementations META-INF/services/org.a.X > via ServiceLocator which contains the line > which in turn scans net.b.Y > any entry in > META-INF/services/org.a.X > on the available > class path > > Class loader for org.a.X has net.b.Y in its class path. > > > OSGI bundles > > OSGI bundle org.X OSGI bundle org.Y > > include JAR X include JAR Y > > class loader does not depends on bundle > see net.b.Y org.X > > requires service provides OSGI services > implementations for for each entry in > org.a.X META-INF/services/org.a.X > which contains an > provides them to entry from JAR Y > JAR X such that (here only for net.b.Y) > they are found by > the ServiceLocator [How can this work?] > pattern > > [How this can work > is exactly the > question I asked] > > > Thank you > Michael > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

