Nav

Migrating Core Components

This section covers the migration of component-specific features, and the table below maps Mule 3.x components and expressions to their replacements in Mule 4.

Mule 3.x Component Mule 4.0 Replacement

All router

Use scatter gather instead or execute the operations one after the other with different target attributes and then use DW to merge results.

async[‘processingStrategy’]

Async processing strategies are no longer needed with the non-blocking execution engine. Use an “async” scope wrapping all the components if you want them to behave asynchronously.

asynchronous-processing-strategy

Async processing strategies are no longer needed with the non-blocking execution engine. Use an “async” scope wrapping all the components if you want them to behave asynchronously.

bridge

Removed. Use flows.

catch-exception-strategy

Use error-handler with an on-error-continue strategy.

choice-exception-strategy

Use error-handler with different strategies inside using error type selection or when attribute.

combine-collections-transformer

No longer needed with the simplified message model. MuleMessageCollections are replaced with arrays of Mule Messages, which can be merged or iterated through using any Mule component, such as DataWeave or foreach.

component

Use the Java module.

composite-source

Create one flow per each source and invoke a private flow using flow-ref for the common functionality.

configuration[‘defaultExceptionStrategy-ref’]

New name is defaultErrorHandler-ref

configuration[‘flowEndingWithOneWayEndpointReturnsNull’]

No longer needed with new execution engine.

configuration[‘useExtendedTransformations’]

Removed.

configuration[enricherPropagatesSessionVariableChanges]

Removed.

copy-attachments

Use Transform component & DataWeave.

copy-properties

Use Transform component & DataWeave.

custom-agent

Removed.

custom-aggregator

Removed.

custom-connector

Use SDK to build a custom connector.

custom-exception-strategy

No longer needed. Use error-handlers.

custom-lifecycle-adapter-factory

No replacement.

custom-object-store

Use object store module extension to create custom stores.

custom-processor

Use DataWeave, scripting component, the Mule SDK , or the Java module.

custom-queue-store

Use the new VM Connector.

custom-router-resolver

Removed.

custom-router

Removed.

custom-service

Use flows.

custom-source

Use the Mule SDK to write a new event source.

custom-splitter

Use DataWeave or the Mule SDK.

custom-transaction-manager

Removed.

custom-transaction

Removed.

default-exception-strategy

Use error-handler with an on-error-propagate strategy.

default-in-memory-queue-store

Use the new VM Connector.

default-persistent-queue-store

Use the new VM Connector.

default-service-exception-strategy

Use error-handler with an on-error-propagate strategy.

endpoint

Use connectors.

exception-strategy

Use error-handlers.

expression-component

Use DataWeave, scripting component, the Mule SDK, or the Java module.

file-queue-store

Use the new VM Connector.

flow[‘processingStrategy’]

Removed. Non blocking execution engine ensures that users do not need to tune this.

idempotent-message-filter

Replaced by idempotent-message-validator.

idempotent-redelivery-policy

New name is redelivery-policy.

idempotent-secure-hash-message-filter

Replaced by idempotent-message-validator

in-memory-store

Use object store module extension to create custom stores.

inbound-endpoint

Use connectors.

include-entry-point

Use the Java module.

interceptor-stack

Removed. Use custom policies.

invoke

Use the Java module.

jndi-transaction-manager

Removed.

jrun-transaction-manager

Removed.

legacy-abstract-exception-strategy

Use the new error handlers.

managed-store

Use object store module extension to create custom stores.

message-properties-transformer

Use Transform component and DataWeave.

model

Removed. Use flows instead.

mule[‘version’]

outbound-endpoint

Element moved from the core namespace to the new transports namespace.

parse-template

poll → watermark

This capability has been built inside event sources from many connectors, like Salesforce, Database, SFTP, File, etc. You can also use the object-store module to manually set the watermark values.

poll

Replaced with scheduler source.

pooling-profile[‘disabled’]

New attribute

processor

Use DataWeave, scripting component, the Mule SDK, or the Java module.

prototype-object

Use Java module or Spring module.

queue-profile

Removed.

queue-store

Removed.

recipient-list

Removed.

reconnect-custom-notifier

Removed.

reconnect-custom-notifier

Removed.

reconnect-custom-strategy

Removed.

reconnect-custom-strategy

Removed.

reconnect-notifier

Removed.

remove-attachment

No longer needed. Attachments can be stored as variables.

remove-property

Properties no longer exist in the new message model. You can store attributes from the Mule message in a variable.

response

Removed. No longer needed.

request-reply

Mule 4 will not longer support request-reply for all connectors. Connectors that had a “request-reply” behavior will provide a “request-reply” operation built in, such as the JMS consume operation.

resin-transaction-manager

Removed.

rollback-exception-strategy

Use error-handler with an on-error-propagate strategy.

scatter-gather[‘threading-profile’]

No longer needed now that Mule 4 is non blocking.

seda-model

No more SEDA queues in Mule 4. The execution engine in Mule 4 is non-blocking.

service

Use flows.

set-attachment

No longer needed. Attachments can be stored as variables.

set-property

Properties no longer exist in the new message model. You can store attributes from the Mule message in a variable.

set-session-variable

Session variables have been removed. Users must explicitly pass headers across transport boundaries.

simple-in-memory-queue-store

Use the new VM Connector.

simple-service

Use flows.

simple-text-file-store

Use object store module extension to create custom stores.

singleton-object

Use Java module or Spring module.

spring-object

Use Java module or Spring module.

synchronous-processing-strategy

The behavior related to flow components execution is the same as flows in 4.x but it doesn’t always execute in the same thread as in 3.x.

transactional scope

Replaced with “try” scope.

username-password-filter

Removed.

validator

Removed.

weblogic-transaction-manager

Removed.

websphere-transaction-manager

all-strategy

Removed.

entry-point-resolver

Use the Java module.

filter

Filters are replaced by the Validations module.

interceptor

Interceptors are replaced with custom policies.

message-info-mapping

Removed.

point-resolver-set

Use the Java module.

router

Removed.

threading-profile

Removed. The Runtime now tunes itself.

transformer

Removed. Most explicit transformations are no longer needed. Use DataWeave for the corner cases.

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.

+