I changed the url scheme so we always use pax maven urls for
everything in the geronimo repository, and now I can get, with some
work, all the plugin bundles to start as bundles. However they mostly
don't start as plugins (i.e., no gbeans start). I haven't figured out
why yet.
How to get it to "run":
build
unpack the assembly (geronimo-framework) and start it as before
The first start, it hangs for me, I think it's still trying to permute
through some large space of possiblitiles. However, killling the
server and restarting doesn't have this problem.
You can then run osgi:list to see which plugins didn't get activated,
and run osgi:start on them.
Looking at config.xml, they all get load="false" added.
I think the next step might be to start writing some gogo commands to
operate on the ConfigurationManager. This looks fairly straightforward.
Other stuff that needs to happen:
- figure out how to use pax logging and what we need to remove so we
don't interfere. I think when g. logging starts up it effectively
shuts off all logging.
- Clean up dependencies so we aren't installing a lot of stuff we
don't want, like un-osgi-ified versions of jaxb impl, stax-api, asm,
etc etc etc.
- Clean up generation of geronimo-plugin.xml metadata so it isn't
nested. I added the nesting for one-classloader-per-jar and it needs
to be removed again.
- Figure out how to get the DependencyManager to not try to install
bundles that are already installed. I guess we can get the location
of each installed bundle from the bundle context and compare with the
mvn url string we'd use for installing the new bundle.
- lots and lots of code cleanup.
If anyone wants to take a look at any of these, that would be great.
I'm going to be mostly offline thursday through sunday but will try to
answer any questions that may come up.
thanks
david jencks
On Oct 5, 2009, at 12:08 PM, David Jencks wrote:
I've made some progress with the osgi sandbox. I now have 2
geronimo plugins starting in karaf. I'm not entirely sure what is
happening next, but I think that felix is searching 2 ^^ 50 or more
comibinations for a consistent class space for the 3rd plugin.
I'm going to try equinox next.
I've checked in the current state of my work. If you want to build
it...
you need to build karaf from trunk.
You need to apply this patch to https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/xstream-1.3
and build it:
Index: pom.xml
===================================================================
--- pom.xml (revision 821959)
+++ pom.xml (working copy)
@@ -46,14 +46,14 @@
!com.thoughtworks.xstream*,
!sun.misc*,
!sun.reflect*,
- javax.xml.stream*;version="[1.0.1,2)",
+ javax.xml.stream*;version="[1.0,2)",
net.sf.cglib*;resolution:=optional;version="[2.1.3,3)",
nu.xom;resolution:=optional;version="[1.1,2)",
org.codehaus.jettison*;resolution:=optional;version="[1,2)",
org.dom4j*;resolution:=optional;version="[1.6.1,2)",
org.jdom*;resolution:=optional;version="[1,2)",
org.joda.time*;resolution:=optional;version="[0.9,1)",
- org.xmlpull*;version="[1.1.3,2)",
+ org.xmlpull*;version="[1.1,2)",
*
</servicemix.osgi.import.pkg>
<servicemix.osgi.failok>true</servicemix.osgi.failok>
@@ -65,7 +65,18 @@
<artifactId>${pkgArtifactId}</artifactId>
<version>${pkgVersion}</version>
<optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.xpp3</
artifactId>
+ <version>1.1.4c_2-SNAPSHOT</version>
+ </dependency>
</dependencies>
<build>
You need to build all the bundles in the checkout.
With luck you should then be able to build the framework project.
To start, in assemblies/geronimo-framework/target
tar xzf geronimo-framework-3.0-SNAPSHOT-bin.tar.gz ;chmod u+x
geronimo-framework-3.0-SNAPSHOT/bin/karaf
./geronimo-framework-3.0-SNAPSHOT/bin/karaf
thanks
david jencks