You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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.

  • A plugin can define a classloader in which case:
    • A plugin with a classloader can define geronimo services (gbeans) that can use classes in the classloader (and its parents).
    • A plugin can depend on this classloader. For exampple, it can have this classloader as a parent.
    • A plugin can contain classes which are made available in the classloader. This is used mostly for Java EE application plugins, where the application classes are packed in the plugin.
  • A plugin can contain resources that are unpacked into the server upon installation (typically in the var/ directory in a plugin-specific location).
  • A plugin includes a list of dependencies. This is intended to normally be as effective as the classloader dependencies, if there is a classloader.
  • A plugin without a classloader definition still includes a list of dependencies. These are typically used as "plugin groups" to install a set of plugins at once.

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.

Look in to Plugin infrastructure for more details.

  • No labels