Component Configuration Reference

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 will be 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 equivilant to using the propotype object factory ('prototype-object' child element).

Attributes of <component…​>

Name

Type

Required

Default

Description

class

class name

no

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

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 stack of intereceptors defined globally.

abstract-object-factory

0..1

Object factory used to obtain the object instance that will be used 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.

Pooled component

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

Attributes of <pooled-component…​>

Name

Type

Required

Default

Description

class

class name

no

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

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 intereceptors defined globally.

abstract-object-factory

0..1

Object factory used to obtain the object instance that will be used 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

Type

Required

Default

Description

maxActive

string

no

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.

maxIdle

string

no

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.

initialisationPolicy

enumeration

no

INITIALISE_ONE

Determines how components in a pool should be initialized. The possible values are: INITIALISE_NONE (will not load any components into the pool on startup), INITIALISE_ONE (will load one initial component into the pool on startup), or INITIALISE_ALL (will load all components in the pool on startup)

exhaustedAction

enumeration

no

WHEN_EXHAUSTED_GROW

Specifies the behavior of the Mule component pool when the pool is exhausted. Possible values are: "WHEN_EXHAUSTED_FAIL", which will throw a NoSuchElementException, "WHEN_EXHAUSTED_WAIT", which will block by invoking Object.wait(long) until a new or idle object is available, or WHEN_EXHAUSTED_GROW, which will create a new Mule instance and return it, essentially making maxActive meaningless. If a positive maxWait value is supplied, it will block for at most that many milliseconds, after which a NoSuchElementException will be thrown. If maxThreadWait is a negative value, it will block indefinitely.

maxWait

string

no

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.

evictionCheckIntervalMillis

string

no

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

minEvictionMillis

string

no

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 will be evicted from the pool due to idle time alone.

Child Elements of <pooling-profile…​>

Name

Cardinality

Description

Echo component

Logs the message and returns the payload as the result.

Attributes of <echo-component…​>

Name

Type

Required

Default

Description

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 stack of intereceptors defined globally.

Log component

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

Attributes of <log-component…​>

Name

Type

Required

Default

Description

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 intereceptors defined globally.

Null component

Throws an exception if it receives a message.

Attributes of <null-component…​>

Name

Type

Required

Default

Description

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 intereceptors defined globally.

Spring object

Attributes of <spring-object…​>

Name

Type

Required

Default

Description

bean

name (no spaces)

no

Name of Spring bean to look up.

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

Type

Required

Default

Description

class

class name

no

Class name

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 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.

Prototype object

Attributes of <prototype-object…​>

Name

Type

Required

Default

Description

class

class name

no

Class name

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

Type

Required

Default

Description

class

class name

yes

An implementation of the LifecycleAdapter interface.

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

Type

Required

Default

Description

interface

class name

yes

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

method

no

The method on the interface that should be used. This can be omitted if the interface has a single method.

Sign up for our newsletter

MuleSoft provides a widely used integration platform for connecting SaaS and enterprise applications in the cloud and on-premises. Delivered as a unified integration experience, CloudHub™ and Mule ESB™ (enterprise service bus) are built on proven open source technology for fast and reliable on-premises and cloud integration without vendor lock-in. Our solutions also include Tcat, an Apache Tomcat server for enterprises.

We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used and to tailor advertising. You can read more and make your cookie choices here. By continuing to use this site you are giving us your consent to do this.