David Jencks wrote:
There's been some back channel discussion about what might be needed
to support stuff like osgi rfc 66 web bundles in geronimo. One
problem that appears with our current idea of setting up gbeans to
"be" the web app is that for a WAB we can't modify the manifest to
import the gbean classes. Also, our current scheme makes the
framework classes (jetty or tomcat implementation classes) visible to
the app.
One possible solution is to add another GBeanData field which is a
reference to the plugin that has the gbean's class. Then the web (or
other) deployer can add all its gbeans with this field set to the
appropriate runtime plugin whose bundle can load the gbean class, and
the web app bundle won't need to import the classes itself.
It looks pretty easy to modify GBeanData and GBeanInstance to do
this. It should be easy but time consuming to modify the module
builders as well.
With this approach to gbeans, we might be able to support a web
extender that, when given a WAB, checked for an existing
config.ser-like file and if missing ran the geronimo module builder to
create it.
I'll start looking into this..... comments would be extremely welcome.
This is very interesting, and is really not unlike the approach now
being considered for blueprint namespace handlers. The issue was very
similar, where it was not thought appropriate for the extended bundle to
be importing implementation classes for any additional components that
might be added to the blueprint container. In this situation, the
BeanMetadata had a field for the actual class instance to be used to
instantiate the bean.
Rick
thanks
david jencks