Idempotent Filter
Mule Runtime Engine versions 3.5, 3.6, and 3.7 reached End of Life on or before January 25, 2020. For more information, contact your Customer Success Manager to determine how you can migrate to the latest Mule version. |
Ensures that only unique messages are received by a service by checking the unique ID of the incoming message.
Idempotent Message Filter
Ensures that only unique messages are received by a service by checking the unique ID of the incoming message. Note that the ID used can be generated from the message using an expression defined in the 'idExpression' attribute. By default, the expression used is '#[message:id]', which means the underlying endpoint must support unique message IDs for this to work. Otherwise, a UniqueIdNotSupportedException is thrown.
Attributes of <idempotent-message-filter…>
Name | Type | Required | Default | Description |
---|---|---|---|---|
name |
name (no spaces) |
no |
Identifies the processor so that other elements can reference it. Required if the processor is defined at the global level. |
|
onUnaccepted |
string |
no |
Events that are not accepted by the filter are sent to this (optional) named message processor. |
|
throwOnUnaccepted |
boolean |
no |
Whether to throw an exception if a message is not accepted |
|
idExpression |
string |
no |
Defines one or more expressions to use when extracting the ID from the message. For example, it would be possible to combine to headers as the ID of the message to provide idempotency: '[headers:foo,bar]'. Or, you could combine the message ID with a header: '[message:id]-[header:foo]'. If this property is not set, '[message:id]' will be used by default. |
|
valueExpression |
string |
no |
Defines one or more expressions to use when extracting the value from the message. |
|
storePrefix |
name (no spaces) |
no |
Defines the prefix of the object store names. |