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


Reply via email to