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

About Models

A model is a grouping of services. A model manages the runtime behavior of the service components that a Mule ESB instance hosts. The manner in which these components are invoked and treated is all encapsulated inside the current Mule model.

Configuring a Model

To configure a model, you add the <model> element to your Mule configuration file. You then add services within the model. For configuration details, see the Model Configuration Reference.

Model Interface

Every Mule model implements the Model interface. This interface represents the behavior of a Mule server and works with the following objects. For a complete list of fields and methods, see in the Model interface org.mule.api.model.Model. Also, see org.mule.model.AbstractModel, which is an abstract class that implements this interface and is the parent for all models.

Object Description

Name

A string that refers to the name of the model and is set as an attribute in the <model> element. If no name is given, a unique value is generated automatically.

ExceptionListener

The exception strategy to use for the entire model. The exception strategy is used to handle any exceptions that occur when a component is processing a message. For more information on exception strategies, see Error Handling.

EntryPointResolverSet

A set of classes that implement the EntryPointResolver interface. These will be used to determine the entry point for any hosted component when a message is received. You can configure an entry point resolver using the <abstract-entry-point-resolver> element or configure an entry point resolver set using the <abstract-entry-point-resolver-set> element. For more information on entry point resolvers, see Developing Components.

LifecycleAdapterFactory

Used by the model to create lifecycle adapters that are needed to translate Mule lifecycle events into messages that components registered with the model understand. You configure the lifecyle adapter on the <component> elements, not on the model itself. For more information on lifecycle adapters, see Developing Components.