geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <>
Subject Re: osgi progress
Date Fri, 11 Sep 2009 11:38:00 GMT
David Jencks wrote:
> I've made some headway in my sandbox osgi framework.  I now have 
> pretty much all the modules building as bundles and have the 
> car-maven-plugin working enough to build several plugins.  I'm a bit 
> stuck on a classloading problem in which a bundle appears to be able 
> to load a class but not an interface it implements, in the same bundle 
> (both classes are imported and exported).
David, just a thought here.  Is it possible that the classloading issue 
is not with the interface class, but rather a superclass that the 
interface class depends on?  It could be a problem with a missing import 
for that class.

> The car-maven-plugin works by starting a felix framework inside maven 
> and deploying bits of geronimo into it.  In order to share classes 
> between maven and felix the framework has to export quite a few 
> classes that in a real server would be loaded from geronimo bundles.
> I think the next step may be to work on getting the bundles that do 
> compile to run inside karaf or possibly felix.  Apparently there are 
> some tools to help diagnose classloading problems.
> With luck I may have some kind of geronimo framework server running in 
> karak sometime next week.  Assuming that we agree to move this code 
> into trunk, at this point I think there will be a lot of work that can 
> be done more in parallel on the plugins part of geronimo.  Basically 
> we have to go through all the geronimo code and
> -- turn the jars into bundles and make sure they build
> -- determine the not-yet-bundle dependencies and either convince the 
> source project to bundleize them or repackage them as bundles
> -- set up the bundle plugin more precisely with package versions and 
> correct imports
> -- modify the gbeans to use Bundle or BundleContext instead of 
> classloader
> -- get the plugins to compile
> -- remove unnecessary plugins such as classloader plugins
> At this point we'll be able to see just how hard it is to deploy an ee 
> app as one or more bundles.
> The framework stuff will also need more work including
> -- removing unnecessary code such as a lot of the old classloaders
> -- clarifying the separation between dependency management and bundle 
> lifecycle.
> -- deciding whether to use a BundleActivator approach to start 
> geronimo plugins or whether to use a blueprint service-like extender 
> bundle listener.  Currently I'm using a BundleActivator approach which 
> makes it difficult to communicate from one started bundle to another.
> -- deciding whether to keep the kernel as a gbean registry or just 
> register all gbeans in the service registry as services.
> thanks
> david jencks

View raw message