Nav

Mule Plugin Format

Mule instances can make use of Mule Plugins, which provide a way to extend the server behavior in an isolated way.

A Mule plugin is a 'zip' file with the following structure:

/ \- classes                 // plugin-specific expanded resources (e.g. logging configuration files, properties, etc |- lib                     // plugin-specific jars |- mule-plugin.properties       // custom properties to be added to the registry instance used by the plugin (optional)

Mule Plugins must be placed in the folder <mule_home>/plugins.

Plugin Properties

The following properties are currently recognized on the plugin.properties file:

  • plugin.className - full qualified name of the class implementing the plugin

  • plugin.enabled - indicates if the plugin will be enabled/disable on Mule start

  • plugin.exported - list of classes, packages and resources visible to Mule Applications

  • loader.overrides - provides fine-grained control over class loading within a plugin. 

Additionally, a plugin can contain any other property to provide extra plugin configuration.

Here are some things to consider regarding the plugins:

  • Each plugin must be packaged as a zip file following the mentioned structure.

  • Exploded plugins are currently supported

  • Plugins are deployed before any Mule application

In this topic: