String
SAP Connector 5.0 Reference
Support Category: Premium
Anypoint Connector for SAP (SAP Connector) provides a class that has an overall configuration for the SAP extension.
SAP Connector 5.0 also supports connecting to an on-premise instance of SAP S/4HANA. |
Release Notes: SAP Connector Release Notes
SNC is not supported for use in Mule apps that deploy SAP Connector in CloudHub and Anypoint Runtime Fabric. |
Configurations
SAP Configuration
The following parameters are for the default configuration for SAP extension inbound and outbound elements:
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
The name for this configuration. Connectors reference the configuration with this name. |
x |
||
Connection |
The connection types to provide to this configuration. |
x |
||
Expiration Policy |
Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform expires the instance at the exact moment that it becomes eligible. The runtime purges the instances when appropriate. |
|||
Encoding |
String |
Canonical name of the encoding. See Oracle’s supported encodings at https://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html. |
||
Default IDoc Version |
String |
Default IDoc version. |
|
|
Disable Jco Internal Cache |
Boolean |
Set this flag to |
|
|
Evaluate Response Flag |
Boolean |
Flag that indicates if an error response should throw an exception or let the user handle it as another result |
|
|
Log Trace Flag |
Boolean |
Set this flag to |
|
|
Use SAP Format |
Boolean |
This parameter was added to support the Mule 3 format for returning SAP values. It is used in the |
|
Connection Types
Certificate
Use these parameters to configure a connection provider that relies on an X509 certificate to authenticate the user.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
SAP system number |
String |
The two-digit system number ( |
x |
|
SAP client ID |
String |
Three-digit client number. Leading zeros are preserved if they appear in the number. |
x |
|
Destination Name |
String |
Identifier of the destination generated by this connector. If none is set, then a random value is created. |
||
Login language |
String |
The language code used by the connector. The language determines the code page used for communicating between the SAP Adapter and the application server. |
|
|
Extended Properties |
Object |
Use to pass in all the database server-specific connection parameters |
||
X.509 Certificate |
String |
Path to the X.509 certificate. This is required when the connector is working as a client. |
||
Application server host |
String |
The host of the SAP application server |
||
Message server configuration |
The configuration for message server usage |
|||
Enable RFC tracing on server |
Boolean |
Enable or disable RFC trace on the server |
|
|
Enable CPIC tracing on server |
Enumeration, one of:
|
Enable or disable RFC trace on the server. |
||
Reconnection |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
Simple Connection Provider
Use these parameters to configure a connection provider that connects using a username and password.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
SAP system number |
String |
The two-digit system number ( |
x |
|
SAP client ID |
String |
Three-digit client number. Leading zeros are preserved if they appear in the number. |
x |
|
Destination Name |
String |
Identifier of the destination generated by this connector. If none is set, then a random value is created. |
||
Login language |
String |
The language code used by the connector. The language determines the code page used for communicating between the SAP Adapter and the application server. |
|
|
Extended Properties |
Object |
Use to pass in all the database server-specific connection parameters. |
||
Username |
String |
The username the connector uses to log in to SAP |
x |
|
Password |
String |
The password associated with the login username |
x |
|
Application server host |
String |
The host of the SAP application server |
||
Message server configuration |
The configuration for message server usage |
|||
Enable RFC tracing on server |
Boolean |
Enable or disable RFC trace on the server |
|
|
Enable CPIC tracing on server |
Enumeration, one of:
|
Enable or disable RFC trace on the server. |
||
Reconnection |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
Operations
Asynchronous Remote Function Call
<sap:async-rfc>
The asynchronous Remote Function Call (aRFC) executes a BAPIFunction over a queued Remote Function Call (qRFC). A queued RFC is an extension of a transactional RFC (tRFC) that ensures that individual steps are processed in sequence. Use qRFC to guarantee that multiple Logical Unit of Work (LUWs) transactions are processed in the order specified by the application. You can use inbound and outbound queues to serialize tRFC, hence the name queued RFC (qRFC).
qRFC is best used for:
-
Extension of the Transactional RFC
-
Defined processing sequence.
qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Key |
String |
The name of the function to execute |
x |
|
Content |
Binary |
The BAPIFunction to execute |
|
|
Transaction Id |
String |
The ID that identifies an RFC so it’s run only once |
x |
|
Queue Name |
String |
The name of the queue on which the RFC executes |
||
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions |
JOIN_IF_POSSIBLE |
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Confirm transaction
<sap:confirm-transaction-id>
Configure the following parameters to confirm a determined transaction.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Transaction ID (TID) |
String |
The ID of the transaction to confirm |
x |
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions |
JOIN_IF_POSSIBLE |
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
Start SAP transaction
<sap:create-transaction-id>
Creates a transaction ID to use as part of future calls.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take for transactions |
JOIN_IF_POSSIBLE |
|
Target Variable |
String |
The name of a variable to store the operation’s output |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Get Function
<sap:get-function>
Retrieves a BAPIFunction based on its name.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Key |
String |
The name of the function to retrieve. |
x |
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions |
JOIN_IF_POSSIBLE |
|
Streaming Strategy |
|
Configure to use repeatable streams |
||
Target Variable |
String |
The name of a variable to store the operation’s output |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Retrieve IDoc
<sap:retrieve-idoc>
Retrieves an IDoc based on its key.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Key |
String |
The key that contains the required information to retrieve the IDoc |
x |
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions |
JOIN_IF_POSSIBLE |
|
Streaming Strategy |
|
Configure to use repeatable streams |
||
Target Variable |
String |
The name of a variable to store the operation’s output |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Send IDoc
<sap:send>
Sends an IDoc to SAP over an RFC. An RFC can be one of two types for IDocuments:
-
Transactional (tRFC)
A tRFC is a special form of asynchronous Remote Function Call (aRFC). Transactional RFC ensures transaction-like handling of processing steps that were originally handled autonomously. tRFC is an asynchronous communication method that executes the called function module in the RFC server only once, even if the data is sent multiple times due to some network issue. The remote system need not be available at the time the RFC client program is executing a tRFC.
The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID). tRFC is similar to aRFC in that it does not wait at the target system (similar to a registered post). If the system is not available, the data is written into aRFC tables with a transaction ID (SM58) that is chosen by the scheduler RSARFCSE and run every 60 seconds.
tRFC is best used for:-
Extension of Asynchronous
-
RFC Secure communication between systems
-
-
Queued (qRFC)
A queued RFC is an extension of tRFC. It also ensures that individual steps are processed in sequence. Use qRFC to guarantee that multiple LUWs (Logical Unit of Work transactions) are processed in the order specified by the application. tRFC can be serialized using inbound and outbound queues, hence the name queued RFC (qRFC).
qRFC is best used as an extension of tRFC to define a processing sequence. Implementation of qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Key |
String |
The name of the IDoc to execute |
x |
|
Content |
Binary |
The IDoc to execute |
|
|
Version |
String |
The version on the IDoc |
||
Transaction Id |
String |
The ID that identifies an RFC so it runs only once |
||
Queue Name |
String |
The name of the queue on which the RFC executes |
||
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take for transactions |
JOIN_IF_POSSIBLE |
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Synchronous Remote Function Call
<sap:sync-rfc>
Executes a BAPIFunction over a Synchronous Remote Function Call (sRFC). A synchronous RFC requires both the systems (client and server) to be available at the time of communication or data transfer. It is the most common type and is required when a result is required immediately after the execution of sRFC.
sRFC is a means of communication between systems where acknowledgments are required. The resources of the source system wait at the target system and ensure that they deliver the message or data with ACKD
. The data is consistent and reliable for communication. The issue is if the target system is not available, the source system resources wait until the target system is available. This may lead to the processes of the source system to go into Sleep/RFC/CPIC mode at the target systems and thus blocks these resources.
sRFC is best used for:
-
Communication between systems
-
Communication between SAP Web Application Server to SAP GUI
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Key |
String |
The name of the function to execute |
x |
|
Content |
Binary |
The BAPIFunction to execute |
|
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take for transactions |
JOIN_IF_POSSIBLE |
|
Streaming Strategy |
|
Configure to use repeatable streams |
||
Target Variable |
String |
The name of a variable to store the operation’s output |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
For Configurations
Throws
-
SAP:CONNECTIVITY
-
SAP:INVALID_CREDENTIALS_ERROR
-
SAP:COMMIT_TRANSACTION_ERROR
-
SAP:FIELD_NOT_FOUND_ERROR
-
SAP:BAPI_FUNCTION_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:CONFIRM_TRANSACTION_ERROR
-
SAP:IDOC_INPUT_STREAM_TRANSFORM_ERROR
-
SAP:BEGIN_TRANSACTION_ERROR
-
SAP:EXECUTION_ERROR
-
SAP:MISSING_CONTENT_ERROR
-
SAP:BAPI_FUNCTION_SERIALIZATION_ERROR
-
SAP:MISSING_BUSINESS_OBJECT_ERROR
-
SAP:BAPI_SERVER_INITIALIZATION_ERROR
-
SAP:CONNECTION_VALIDATION_ERROR
-
SAP:TID_CREATION_ERROR
-
SAP:ROLLBACK_TRANSACTION_ERROR
-
SAP:RETRY_EXHAUSTED
-
SAP:IDOC_SERVER_INITIALIZATION_ERROR
-
SAP:INVALID_HOST_ERROR
Sources
Document Source
<sap:document-listener>
Use these parameters to configure the source that listens for incoming IDoc documents.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Gateway Host |
String |
Name of the host running the gateway server |
x |
|
Gateway Service |
String |
Either the name or service port for the gateway service of the SAP system |
x |
|
Program ID |
String |
SAP system program ID that is registered on the gateway. This must be unique for the given gateway. |
x |
|
Connection Count |
Number |
The number of connections to register on the gateway |
|
|
Idoc Type Filter Regex |
String |
Expression to filter all incoming iDocuments by type |
||
Transactional Action |
Enumeration, one of:
|
The type of beginning action that sources can take regarding transactions |
|
|
Transaction Type |
Enumeration, one of:
|
The type of transaction to create. Availability depends on the runtime version. |
|
|
Primary Node Only |
Boolean |
Determines whether this source should be executed only on the primary node when running in a cluster |
||
Streaming Strategy |
|
Configure to use repeatable streams |
||
Redelivery Policy |
Defines a policy for processing the redelivery of the same message |
|||
Reconnection Strategy |
A retry strategy in case of connectivity errors |
Function Source
<sap:function-source>
Source that listens for BAPI functions.
For the request-response message exchange pattern these data types are supported:
-
Structure
Contains fields, tables, and inner structures -
Table
Contains a list of rows -
Fields
The only element that contains an actual value
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Gateway Host |
String |
Name of the host running the gateway server |
x |
|
Gateway Service |
String |
Either the name or service port for the gateway service of the SAP system |
x |
|
Program ID |
String |
SAP system program ID that is registered on the gateway. Must be unique for the given gateway |
x |
|
Connection Count |
Number |
The number of connections to register on the gateway |
|
|
Targeted Function |
String |
Filters the incoming BAPI functions by their name. The name of the function you want to receive. |
||
Transactional Action |
Enumeration, one of:
|
The type of beginning action that sources can take regarding transactions |
|
|
Transaction Type |
Enumeration, one of:
|
The type of transaction to create. Availability depends on the runtime version. |
|
|
Primary Node Only |
Boolean |
Whether this source should be executed only on the primary node when running in a cluster |
||
Streaming Strategy |
|
Configure to use repeatable streams |
||
Redelivery Policy |
Defines a policy for processing the redelivery of the same message |
|||
Reconnection Strategy |
A retry strategy in case of connectivity errors |
|||
Response |
Binary |
|
Types
Message Server
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Host |
String |
The host of the message server |
x |
|
System Id |
String |
System ID of the SAP system |
x |
|
Port |
Number |
The port with which the connector logs in to the message server |
||
Group |
String |
Group of SAP application servers |
||
Router |
String |
SAP router string to use for a system protected by a firewall |
Reconnection
The reconnection strategy for the SAP Connector applies to operations only.
When a connection fails on the FunctionSource
or DocumentSource
, the JCo server automatically tries to reestablish a connection in the following way:
-
If a connection issue occurs, the JCo server retries immediately.
-
If the connection is not restored immediately, the JCo server waits for one second and retries.
-
If the connection is not restored after the second retry, the JCo server waits for two seconds and retries.
-
If the connection is still not restored, the JCo server retries at four seconds, and then again at eight seconds.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Fails Deployment |
Boolean |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
||
Reconnection Strategy |
The reconnection strategy to use |
Reconnect
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often to reconnect (in milliseconds) |
||
Count |
Number |
The number of reconnection attempts to make |
||
blocking |
Boolean |
If false, the reconnection strategy runs in a separate, non-blocking thread |
true |
Reconnect Forever
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often in milliseconds to reconnect |
||
blocking |
Boolean |
If false, the reconnection strategy runs in a separate, non-blocking thread |
true |
Expiration Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Idle Time |
Number |
A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration |
||
Time Unit |
Enumeration, one of:
|
A time unit that qualifies the |
Repeatable In Memory Stream
Repeatable streams enable you to read a stream more than once and have concurrent access to the stream.
Use the following parameters to configure a repeatable in-memory stream:
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Initial Buffer Size |
Number |
Set the initial size of the buffer. This is the amount of memory to allocate to consume the stream and provide random access to it. If the stream exceeds the initial buffer size, the buffer expands according to the Buffer size increment attribute, with an upper limit of the value for Max in memory size. |
||
Buffer Size Increment |
Number |
This value specifies how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer will not expand, and instead a |
||
Max in Memory Size |
Number |
The maximum amount of memory to use. If more than that is used then a |
||
Buffer Unit |
Enumeration, one of:
|
The unit in which all these attributes are expressed |
Repeatable File Store Stream
If you need to handle large or small files, you can change the buffer size (In memory size) to optimize performance:
-
Configuring a larger buffer size increases performance by avoiding the number of times Mule runtime engine needs to write the buffer to your disk, but it also limits the number of concurrent requests your application can process.
-
Configuring a smaller buffer size saves memory load.
Use the following parameters to configure a repeatable file store stream:
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
In Memory Size |
Number |
Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk. |
||
Buffer Unit |
Enumeration, one of:
|
The unit in which Max in memory size is expressed |
Redelivery Policy
A redelivery policy is a filter that helps you conserve resources by limiting the number of times the Mule runtime engine (Mule) executes messages that generate errors. You can add a redelivery policy to any source in a flow.
Each time the source receives a new message, Mule identifies the message by generating its key.
-
If the processing flow causes an exception, Mule increments the counter associated with the message key. When the counter reaches a value greater than the configured Max redelivery count value, Mule throws a
MULE:REDELIVERY_EXHAUSTED
error. -
If the processing flow does not cause an exception, its counter is reset.
Use the following parameters to configure the redelivery policy:
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Redelivery Count |
Number |
The maximum number of times a message can be redelivered and processed unsuccessfully before triggering a process failed message |
|
|
Use Secure Hash |
Boolean |
Whether to use a secure hash algorithm to identify a redelivered message |
|
|
Message Digest Algorithm |
String |
The secure hashing algorithm to use |
|
|
Id Expression |
String |
Defines one or more expressions to use to determine when a message has been redelivered. You can only use this property if Use secure hash is |
||
Object Store |
Object Store |
The object store where the redelivery counter for each message is stored |