Hi Mark,
could not find anybody in cc :D
Good to hear, that there is progress in the OSGi stuff.
My question is about the architecture changes to meet OSGi requirements. There are a lot of Class#forName calls to create new instances. In OSGi it is not that easy then in java SE. Each bundle has its own class loader. And classes are only visible to bundles, if their package was imported.
I could see, that there is a ProjectClassLoader. And that there is a way to provide a common parent classloader. That might be the bundle classloader. So most of the classes can be found by Class#forName. But it requires a bundle, that imports all the dependencies from drools, kie and jbpm. Only in that case, the bundles are visible to the bundles class loader. So my question is, whether that approach is the suggested way to add Drools and JBPM to OSGi containers.
But a drawback is, that there is no real support about required dependencies during development. Except the drools bundles will define their imported packages very carefully. Why do you use Class#forName to load classes? I did not get the idea behind it. Why don't you use "new" to create new instances. Then the bundles have to define their dependencies very carefully to become compiled.
Thanks a lot for your answers.
Best Florian