Contact Us 1-800-596-4880

Component Configuration Reference

Mule runtime engine version 3.8 reached its End of Life on November 16, 2021. For more information, contact your Customer Success Manager to determine how to migrate to the latest Mule version.

This page provides details on the elements you configure for components. This information is pulled directly from mule.xsd and is cached. For more information on components, see Configuring Components.

Component

A simple POJO (Plain Old Java Object) component that’s invoked by Mule when a message is received. The class or object instance to be used can be specified using a child object factory element, or via the class attribute. If the class attribute is used, an object factory cannot be configured as well. Using the class attribute is equivalent to using the prototype object factory (prototype-object child element).

Attributes of Component

Name Description

class

Specifies a component class. This is a shortcut that is equivalent to providing a prototype-object element.

Type: class name
Required: no
Default: none

Child Elements of Component

Name Cardinality Description

abstract-interceptor

0..1

A placeholder for an interceptor element.

interceptor-stack

0..1

A reference to a globally defined stack of interceptors.

abstract-object-factory

0..1

Object factory used to obtain the object instance that is used for the component implementation. The object factory is responsible for object creation and may implement different patterns, such as a singleton or prototype, or look up an instance from other object containers.

abstract-lifecycle-adapter-factory

0..1

Abstract lifecycle adapter factory

binding

0..*

A binding associates a Mule endpoint with an injected Java interface. This is like using Spring to inject a bean, but instead of calling a method on the bean, a message is sent to an endpoint.

abstract-entry-point-resolver-set

0..1

A placeholder for entry point resolver set elements. These combine a group of entry point resolvers, trying them in turn until one succeeds.

`abstract-entry-point-resolver `

0..1

A placeholder for an entry point resolver element. Entry point resolvers define how payloads are delivered to Java code by choosing the method to call.

Pooled Component

A pooled POJO (Plain Old Java Object) component to invoke by Mule when a message is received. The instance can be specified via a factory or a class.

Attributes of pooled-component:

Name Description

class

Specifies a component class. This is a shortcut that is equivalent to providing a prototype-object element.

Type: class name
Required: no
Default: none

Child Elements of pooled-component

Name Cardinality Description

abstract-interceptor

0..1

A placeholder for an interceptor element.

interceptor-stack

0..1

A reference to a stack of interceptors defined globally.

abstract-object-factory

0..1

Object factory used to obtain the object instance to use for the component implementation. The object factory is responsible for object creation and may implement different patterns, such as singleton or prototype, or look up an instance from other object containers.

abstract-lifecycle-adapter-factory

0..1

binding

0..*

A binding associates a Mule endpoint with an injected Java interface. This is like using Spring to inject a bean, but instead of calling a method on the bean, a message is sent to an endpoint.

abstract-entry-point-resolver-set

0..1

A placeholder for entry point resolver set elements. These combine a group of entry point resolvers, trying them in turn until one succeeds.

abstract-entry-point-resolver

0..1

A placeholder for an entry point resolver element. Entry point resolvers define how payloads are delivered to Java code by choosing the method to call.

abstract-pooling-profile

0..1

Characteristics of the object pool.

Pooling Profile

Attributes of pooling-profile:

Name Description

maxActive

Controls the maximum number of Mule components that can be borrowed from a session at one time. When set to a negative value, there is no limit to the number of components that may be active at one time. When maxActive is exceeded, the pool is said to be exhausted.

Type: string
Required: no
Default: none

maxIdle

Controls the maximum number of Mule components that can sit idle in the pool at any time. When set to a negative value, there is no limit to the number of Mule components that may be idle at one time.

Type: string
Required: no
Default: none

initialisationPolicy

Determines how components in a pool should be initialized.

Possible values are:

  • INITIALISE_NONE - Does not load components into the pool on startup.

  • INITIALISE_ONE - Loads one initial component into the pool on startup.

  • INITIALISE_ALL - Loads all components in the pool on startup.

Type: enumeration
Required: no
Default: INITIALISE_ONE

exhaustedAction

Specifies the behavior of the Mule component pool when the pool is exhausted.

Possible values are:

  • WHEN_EXHAUSTED_FAIL - Throws a NoSuchElementException.

  • WHEN_EXHAUSTED_WAIT - Blocks by invoking Object.wait(long) until a new or idle object is available.

  • WHEN_EXHAUSTED_GROW - Creates a new Mule instance and returns it, essentially making maxActive meaningless. If a positive maxWait value is supplied, it blocks for at most that many milliseconds, after which a NoSuchElementException is thrown. If maxThreadWait is a negative value, it blocks indefinitely.

Type: enumeration
Required: no
Default: WHEN_EXHAUSTED_GROW

maxWait

Specifies the number of milliseconds to wait for a pooled component to become available when the pool is exhausted and the exhaustedAction is set to WHEN_EXHAUSTED_WAIT.

Type: string
Required: no
Default: none

evictionCheckIntervalMillis

Specifies the number of milliseconds between runs of the object evictor. When non-positive, no object evictor is executed.

Type: string
Required: no
Default: none

minEvictionMillis

Determines the minimum amount of time an object may sit idle in the pool before it is eligible for eviction. When non-positive, no objects are evicted from the pool due to idle time alone.

Type: string
Required: no
Default: none

No child elements of pooling-profile.

Echo Component

Logs the message and returns the payload as the result.

No attributes of echo-component.

Child Elements of echo-component:

Name Cardinality Description

abstract-interceptor

0..1

A placeholder for an interceptor element.

interceptor-stack

0..1

A reference to a globally defined stack of interceptors.

Log Component

Logs the message content (or content length if it’s a large message).

No attributes of log-component.

Child Elements of log-component

Name Cardinality Description

abstract-interceptor

0..1

A placeholder for an interceptor element.

interceptor-stack

0..1

A reference to a stack of interceptors defined globally.

Null Component

Throws an exception if it receives a message.

No attributes of null-component.

Child Elements of null-component:

Name Cardinality Description

abstract-interceptor

0..1

A placeholder for an interceptor element.

interceptor-stack

0..1

A reference to a stack of interceptors defined globally.

Spring Object

Attributes of spring-object:

Name Description

bean

Name of the Spring bean to look up.

Type: name (no spaces)
Required: no
Default: none

Child Elements of spring-object:

Name Cardinality Description

property

0..*

Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provide a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements.

properties

0..1

A map of Mule properties.

Singleton Object

Attributes of singleton-object:

Name Description

class

Class name

Type: class name
Required: no
Default: none

Child Elements of singleton-object:

Name Cardinality Description

property

0..*

Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provides a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements.

properties

0..1

A map of Mule properties.

Prototype Object

Attributes of prototype-object

Name Description

class

Class name

Type: class name
Required: no
Default: none

Child Elements of prototype-object:

Name Cardinality Description

property

0..*

Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provide a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements.

properties

0..1

A map of Mule properties.

Custom Lifecycle Adapter Factory

Attributes of custom-lifecycle-adapter-factory:

Name Description

class

An implementation of the LifecycleAdapter interface.

Type: class name
Required: yes
Default: none

Child Elements of custom-lifecycle-adapter-factory:

Name Cardinality Description

spring:property

0..*

Spring-style property element for custom configuration.

Binding

A binding associates a Mule endpoint with an injected Java interface. This is like using Spring to inject a bean, but instead of calling a method on the bean, a message is sent to an endpoint.

Attributes of Binding:

Name Description

interface

The interface to be injected. A proxy is created that implements this interface by calling out to the endpoint.

Type: class name
Required: yes
Default: none

method

The method of the interface to use. This can be omitted if the interface has a single method.

Type: none
Required: no
Default: none

Child Elements of Binding:

Name Cardinality Description

abstract-outbound-endpoint

1..*

A placeholder for outbound endpoint elements. Outbound endpoints dispatch messages to the underlying transport.

Interceptors