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
