On Mon, Oct 12, 2009 at 7:07 PM, Jonathan Gallimore <[email protected]> wrote:
> I'm pretty new to OSGi, but I'm keen to give it a go and help out if I can. > I'll have a look over the JIRA issue and have a play about with Felix. If > you're able to give me some pointers or something to specifically look at, > that would be really helpful. Glad it has spurred so much interest. It's been on my todo list for almost 2-3 years and after having failed with Geronimo osgi'fication (it seems to be way too large for such an OSGi newbie like me) I finally come back to openejb which is way smaller and will hopefully cause less troubles along the way. The idea for openejb osgi'fication is to build a very small openejb "kernel" (a mere openejb without anything :)) and everything else as osgi services. You want stateless ejb container, install appropriate bundle and start it. You want another openejb service, simply install another service bundle and be done with it. That's the idea and I know OSGI can do it, but am not sure *I* can do it. I don't really like facing the jar hell with people have to worry about before starting openejb. I would really like having a very small openejb with services that can be disables/enabled in a more user-friendly way. Perhaps, I underestimate what's already available in openejb, but since it's a proprietary solution I don't think it gets much exposure. OSGi would surely change it. If we could do that, we could probably "inject" openejb into other OSGi-fied application servers without much hassle. That's my dream of how openejb would look like in 4.0. Without more ado, I begun playing with openejb3 and felix. Here are my notes from today's experiments. I'll need to put it somewhere on the website. 1/ Build the latest sources of xbean and openejb3 (mvn clean install will do) 2/ Download Apache Felix Configuration Admin Service (1.2.4) and save it in bundle dir of the felix home dir. 3/ Start felix with conf/config.properties changed as follows: org.osgi.framework.system.packages.extra=sun.misc 4/ Download http://wiki.ops4j.org/display/paxurl/Pax+URL (I worked with the very old 0.3 release) and install/start it in felix 5/ Install the following jars (C:/.m2 is my local maven repo) install file:/C:/.m2/org/apache/openejb/javaee-api/5.0-2/javaee-api-5.0-2.jar install file:/C:/.m2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar install file:/C:/.m2/org/apache/openejb/openejb-jee/3.1.2-SNAPSHOT/openejb-jee-3.1.2-SNAPSHOT.jar install wrap:file:/C:/.m2/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar install file:/C:/.m2/org/apache/xbean/xbean-naming/3.6-SNAPSHOT/xbean-naming-3.6-SNAPSHOT.jar install file:/C:\oss\xbean\xbean-asm-shaded\target\xbean-asm-shaded-3.7-SNAPSHOT.jar install file:/C:/.m2/org/apache/xbean/xbean-reflect/3.6-SNAPSHOT/xbean-reflect-3.6-SNAPSHOT.jar install file:/C:\oss\xbean\xbean-finder-shaded\target\xbean-finder-shaded-3.7-SNAPSHOT.jar install wrap:file:/C:/.m2/commons-cli/commons-cli/1.1/commons-cli-1.1.jar install wrap:file:/C:/.m2/org/apache/geronimo/components/geronimo-connector/2.1/geronimo-connector-2.1.jar install wrap:file:/C:/.m2/org/apache/geronimo/components/geronimo-transaction/2.1/geronimo-transaction-2.1.jar install wrap:file:/C:/.m2/log4j/log4j/1.2.12/log4j-1.2.12.jar install file:/C:\.m2\org\apache\openejb\openejb-api\3.1.2-SNAPSHOT\openejb-api-3.1.2-SNAPSHOT.jar install file:/C:\.m2\org\apache\openejb\openejb-javaagent\3.1.2-SNAPSHOT\openejb-javaagent-3.1.2-SNAPSHOT.jar install file:/C:/.m2/org/apache/openejb/openejb-core/3.1.2-SNAPSHOT/openejb-core-3.1.2-SNAPSHOT.jar 6/ Start them up (dunno if it's required and the last bundle - openejb-core-3.1.2-SNAPSHOT.jar - is not sufficient) All the bundles will be started fine which is the very beginning of the openejb osgi'fication endeavour. Jacek -- Jacek Laskowski Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl
