Contact Us 1-800-596-4880

Scripting Module Reference - Mule 4

Scripting Module v2.0

The Scripting module executes custom logic written in a scripting language.

Configurations


Config

Default configuration

Parameters

Name Type Description Default Value Required

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Operations

Execute

<scripting:execute>

Run a script with provided code, according to the engine and passing parameters. The script provides many binding variables to work with:

Name Type Description

payload

Object

The payload of the message processed.

dataType

Data type of the message payload.

correlationId

String

The correlationId of the message processed.

attributes

Map<String, Object>

Attributes of the Mule message processed.

vars

Map<String, Object>

The variables set on the current Mule event processed.

message

The message processed.

error

Error associated with the Mule message processed.

authentication

Information about the authentication.

flow

String

The name of the current flow.

log

Logger

Logger object that logs to the app’s log file, MULE_HOME/logs/<app-name>.log

result

Object

Variable representing the result of the script execution.

registry

org.mule.runtime.api.artifact.Registry

Use the registry object to access any other service within the Mule API.

If the code doesn’t produce an implicit result, you have to set the result variable value explicitly with the execution result. The payload is set with this value unless you configure a target variable as described in Scripting Module Overview.

Parameters

Name Type Description Default Value Required

Code

String

The script source code to execute

x

Engine

String

Name of the scripting engine for running this script

x

Parameters

Map<String, Object>

Variables provided to the script as bindings

Target Variable

String

The name of a variable on which to place the operation’s output

Target Value

String

An expression to evaluate against the operation’s output. The outcome of that expression will be stored in the target variable.

#[payload]

You must export the classes used with the Scripting Module, otherwise, the execution fails with a SCRIPTING:COMPILATION error. See how to export resources.

Throws

  • SCRIPTING:COMPILATION

  • SCRIPTING:UNKNOWN_ENGINE

  • SCRIPTING:EXECUTION

Types

Aggregation Attributes

Field Type Description Default Value Required

Aggregation Id

String

Aggregation ID that comes from the event’s message correlationId. If the aggregator does not aggregate by correlationId, then this field is an autogenerated value for the current aggregated group.

x

First Item Arrival Time

Number

Time in which the first aggregated value arrived.

x

Last Item Arrival Time

Number

Time in which the last aggregated element arrived.

x

Is Aggregation Complete

Boolean

A boolean value that indicates the completion of the aggregation.

false

Redelivery Policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

Field Type Description Default Value Required

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Message Digest Algorithm

String

Secure hashing algorithm to use if the <b>Use Secure Hash<b/> field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Id Expression

String

One or more expressions that determine when a message was redelivered. This property can be set only if the <b>Use Secure Hash</b> field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

View on GitHub