1.2. Apache Geronimo Extensions and Plugins

In addition to the J2EE features listed above, Geronimo supports a number of extensions to the J2EE specification, both internally and via Geronimo Plugins. These include:

ClassLoader Enhancements

Geronimo applications can refer to common JARs installed in the Geronimo repository or included in the Geronimo shared library directory. This makes it easy to reduce the footprint of application modules and share JARs across multiple applications. Geronimo applications can also customize which classes are exposed from parent class loaders, and configure the parent/child class loading priority.

Web-based Administration Console

The Geronimo J2EE distribution includes a web-based administration console, including configuration options (such as network ports), wizards (to create database pools, security realms, etc.), monitoring screens (for thread pools and memory usage), deployment tools, and more. Certain plugins extend the administration console as well.

Web Clustering

Geronimo supports clustering of web applications for fail-over and scalability.

LDAP Server

The Apache Directory LDAP server can be run within Geronimo.

Scheduler Integration

The Quartz scheduler can be run inside Geronimo, and scheduled jobs can be deployed as standalone modules or as part of J2EE applications.

Portal Integration

The Liferay enterprise portal can by run inside Geronimo.

"Little G" Web-focused Distribution

For cases where a full J2EE server is not needed, the Little G distribution offers a web-focused distribution with the same foundation as the full Geronimo server, but a much smaller footprint. Little G includes a web container, transaction manager, database connection pools, the same security, logging, and deployment tools, the Geronimo Plugin system, and more. However it omits support for EJBs, JMS, Web Services, and the administration console. If you need more than Little G, you can either add back features like JMS using Geronimo Plugins, or start with the J2EE distribution and simple disable or remove the features you don't need.

Eclipse Plugin

Geronimo developers can integrate Geronimo into Eclipse using the Geronimo Eclipse plugin. Leveraging the Eclipse Web Tools Project, this plugin lets you run Geronimo in Eclipse (including starting, stopping, deploying to, and debugging Geronimo), generate code for Geronimo, debug into JSPs running in Geronimo, and more.

Maven Plugins

Geronimo provides plugins for Maven 1, which can be used to start and stop Geronimo, deploy applications to Geronimo, build Geronimo Plugins, and more. With these plugins, a Maven build can compile and build an application, start Geronimo, deploy the application, run a number of tests, and finally shut down the Geronimo server. Maven 2 plugins are under development for the next release of Geronimo.

In addition, many other products can be integrated with Geronimo or run on Geronimo, even if they are not yet released as Geronimo Plugins. For example, products such as the Mule and ServiceMix ESBs currently work with Geronimo, with plugin releases planned.