Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Plugins

Plugins can be system modules, applications, classloader definitions, and plugin groups. The Geronimo server is assemblages of plugins. Assemblies are the different ways you can create a server out of the various pluging available. Starting with Geronimo 2.1 and 2.2, the servers are assembled entirely out of plugins.

Introduction to a plugin

Plugins have an identifier with groupId, artifactId, version, and type. It's possible to have a plugin without a moduleId but this is not currently used.

...

Plugins can contain both server functionality and application functionality or both. For instance, you can include a web server configuration in a web application plugin.

Finding a plugin

Plugins are listed in plugin catalogs which contain information about the plugins (typically name and description) and where to get the plugin.
Plugins are normally stored in plugin repositories which act much like maven2 repositories. The most common examples of plugin repositories are the following:

  • Your local maven repository if you have built geronimo or used maven to package plugins.
  • The Apache plugin repository containing all the plugins packages by the Apache Geronimo project.
  • Another geronimo server running the jetty or tomcat plugin-console plugin.

Installing a plugin

You can install a plugin into an existing server in different ways:

  • GShell deploy/list-plugins command
  • Geronimo administrative console
  • Using maven and the geronimo-maven-plugin
    You can also install a plugin into a new server assembly using the car-maven-plugin.
    Note that in all cases the dependency system assure that if you install a plugin, everything needed to run the plugin will also be installed. For instance if you install a Java EE application plugin such as one of the samples into the framework server, openejb, openjpa, the transaction manager and connector framework and the appropriate web container will also be installed as dependencies.

Creating a plugin

  • You can create a plugin as part of a maven build using the car-maven-plugin.
  • You can create a plugin "virtually" by installing a deployed application from a running geronimo server acting as a plugin repository.
  • You can create a plugin using the Geronimo administrative console to create or edit the plugin metadata.

Updating a plugin

At times, you may need to upgrade a plugin or jar version, for instance if a new version of a dependency is released but you cannot rerelease all the artifacts that depend on it. Here are some methods to upgrade jar versions.

Simple jar upgrade

If the jar is to be installed as part of a plugin installation, see the section below. Otherwise, follow these steps. First, if the server is running, stop the server. Second, copy the new jar into the appropriate directory in your geronimo server's repository. For instance:

...

With this configuration, the server will substitute myjar-1.1.jar for any myjar-1.0.jar dependency.

Upgrading a jar while releasing a plugin

If the jar is installed as part of a plugin installation, you can include configuration upgrade information in the geronimo-plugin.xml. During plugin installation, the upgraded jar will be automatically installed. This is easiest to specify in the car-maven-config configuration in the pom.xml, prior to building the plugin.

...