Hi Nick, afaik there is no "easy" path of handling this. Strategies are most likely the ones used by either ServiceMix or the Pax Tipi project [1] or if you have "good" connections to the originators of such libraries maybe convince those of providing osgi ready bundles.
regards, Achim [1] - https://github.com/ops4j/org.ops4j.pax.tipi 2016-02-11 18:55 GMT+01:00 Nick Baker <[email protected]>: > > > Hey Everyone, > > We’re presently embedding Karaf in other applications which contain an > large amount of existing functionality comprising some 350 jars. Some of > those are imported into the OSGI system today with system.packages.extras, > but most remain unavailable to OSGI. > > I’m in the process of investigating an architectural “flip” in which what > is today outside of OSGI will be moved inside as a series of features. > Karaf would then be the main application. > > So far I’m making good progress. However, the resulting feature > definitions contain hundreds of wrapped bundle entries as the libraries > aren’t OSGI bundles. The overhead in wrapping these upon startup of a new > instance is enormous! > > My options as I see it are: > > 1. Create some wrapper bundles replacing some of the features which > utiliizes Bundle-Classpath: to embed dependent libraries and atomize > functionality. Downside being potential duplication of libraries and > ClassCastExceptions if those leak out of the bundles. > 2. Run BND on these libraries and check them into our Maven repository > under a different GAV. This is the route the Springsource and Servicemix > teams went. > > My question to you all is have any of you come up with an automated way of > handling this? What strategies and advice can you give? > > Thanks, > Nick > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master
