The Apache group's j2ee server is called Geronimo. Here are some notes.
The home page is
http://geronimo.apache.org/ and there's a wiki at
http://wiki.apache.org/geronimo/.
Concepts
GBean
Geronimo is modular; it consists of a kernel and a set of components that implement the features needed to implement the
J2EE specification. GBean (short for "Geronimo Bean") is the kernel-component interface. There's no GBean interface per se, but each GBean has a corresponding
GBeanInfo object that describes the GBean and tells the kernel how to interact with it.
The source code for the
GBeanTest
class shows how a GBean is used.
GBeans are tracked using an MBeanServer (
an MBean directory?).
Misc
Startup
Needs to be run from the
target
directory (classpaths are relative to that dir). Runs using a
standalone application jar called
server.jar
. The startup class specified in
MANIFEST.MF
is
o.a.g.system.main.Daemon. The Daemon is a command-line wrapper around
o.a.g.kernel.Kernel. The daemon first unserializes the
META-INF/config.ser
from
server.jar
using Configuration.loadGMBeanState(). The format of
config.ser
is a leading int that indicates how many attribute name/value pairs follow, then a leading int that indicates how many setReferencePatterns() parameter pairs follow:
int attributeCount = ois.readInt();
for (int i = 0; i < attributeCount; i++) {
gbean.setAttribute((String) ois.readObject(), ois.readObject());
}
int endpointCount = ois.readInt();
for (int i = 0; i < endpointCount; i++) {
gbean.setReferencePatterns((String) ois.readObject(), (Set) ois.readObject());
}
Deployment
wiki page here:
http://wiki.apache.org/geronimo/Deployment
j2ee xml descriptor files (and their geronimo counterparts) are unmarshalled into java classes using apache xmlbeans (
http://xml.apache.org/xmlbeans).
For resource adapters, the
ConnectorModuleBuilder class builds the configuration that gets deployed at run-time.
http://nagoya.apache.org/jira/browse/GERONIMO-262 - NPE while deploying trivial RA
--
TobyCabot - 30 Jun 2004