You are viewing an older version of this section. Click here to navigate to the latest version.

Application Format

General Definition

A Mule application is either a:

  • Zip file. Yes, that’s a regular archive with a 'zip' extension.

  • Unpacked version of the same zip (exploded app)

This deployment unit encapsulates everything an application would need to function, such as libraries, custom code, configuration, deployment descriptor and any environment properties accompanying the application. There is also a way to share libraries between applications via the domain deployment descriptor attribute, which provides for smaller application archives at the expense of a dependency on container being properly setup.

Application structure

A Mule application has a structured layout under $MULE_HOME/apps.

Mule will support both packaged and exploded deployment.

 \- classes                 // application-specific expanded resources (e.g. logging configuration files, properties, etc
 |- lib                     // application-specific jars
 |- mule-config.xml         // Main Mule configuration file, also monitored for changes
 |-  // Application deployment descriptor (optional)
 |-     // custom properties to be added to the registry instance used by the application (optional)