GlassFish v3 on OSGi KnopflerFish

GlassFish v3 is really based on OSGi.
Starting the application server via asadmin start-domain launches an OSGi Framework. This is done in the main method of com.sun.enterprise.glassfish.bootstrap.ASMain

By default, GFv3 will use the Apache Felix OSGi platform. However, this can be changed easily at startup, by specifying the GlassFish_Platform parameter in the system environment (e.g. setenv GlassFish_Platform KnopflerFish)

Doing so, the com.sun.enterprise.glassfish.bootstrap.ASMainKnopflerFish class will be used. As far as I know, the svn head version does not contain a (link to a) knopflerfish binary, but KnopflerFish itself is easily downloaded at http://www.knopflerfish.org. GlassFish has to be instructed where it can find KnopflerFish. You have to set the environment variable KNOPFLERFISH_HOME
setenv KNOPFLERFISH_HOME /home/johan/knopflerfish_osgi_2.1.0/knopflerfish.org/osgi


If you startup the application server via
asadmin start-domain --verbose
the framework will be started, but no configuration file will be detected. GF assumes that the xargs file is located in gf.xargs, but I couldn't find this file. You can easily create a gf.xargs file based on Knopflerfish's props.xargs or init.xargs, but this won't start the required bundles. I guess I need to have a look at the Felix configuration in order to determine what bundles have to be installed and or started at startup.

Anyway, the important conclusion for now is that GFv3 is indeed running on top of an OSGi framework, and that it is not to change the OSGi Framework.

written on 28 Jul 2008 12:35.

no comments

Create comment