Application Plugin Format

Mule applications can make use of Application Plugins, which provide a way to reuse behavior across applications maintaining isolation per application.

A 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
|- plugin.properties       // custom properties to be added to the registry instance used by the plugin (optional)

Application plugins must be placed in the folder <mule_home>/apps/<app_name>/plugins.

Plugin Properties

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

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

Here are some things to consider regarding the plugins:

  • Multiple plugins, such as connectors, can be bundled in the application.

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

  • The plugins are deployed in natural sort order by 'zip' filename.

  • Exploded plugins are not currently supported. The rationale for this is to encourage and maintain a simple plugin distribution model of just one file.

  • The deployment lifecycle of the plugin is tied to the application.

Was this article helpful? Thanks for your feedback!
View on GitHub