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

Reply via email to