Filters
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. |
Mule bundles more than a dozen Filters that determine whether a message can proceed through an application flow. The simplest filters implement basic logic operators (such as and, or, and not), but these simple elements can be combined in various ways to specify complex logical conditions.
Custom Filters
In addition to applying standard filters, you can create a custom filter to specify a precise set of conditions a message must satisfy before it can continue through the flow. Note that the reference is to a class implementing the Filter interface.
The Filter Class is required if you build global filter. See filter configuration reference for details on how to deal with this class.
Global Filters
You can also create a global filter that specifies a set of conditions that the message must meet at points along the flow specified by the Filter Ref building block.
Bundled Filters
Filters | Description | Reference | |
---|---|---|---|
And Or |
The three And/Not/Or logic filters express simple logic. When required to express complex logic, these three filters can be used in combination with other filters. |
||
Custom |
References a user-implemented filter class. |
||
Exception |
Filters against an exception of a specified type. |
||
Expression |
Filters against a range of expressions. |
||
Filter Reference |
References a globally-defined filter. |
||
Message |
Applies specified criteria to a message to determine whether it should be processed. |
||
Message Property |
Applies a regular expression pattern to the message payload to determine whether it should be processed. |
||
Payload |
Evaluates the payload type of a message to determine whether it should be processed. |
||
Regex |
Applies a regular expression pattern to determine whether it should be processed. |
||
Schema Validation |
Uses the JAXP libraries, to validate a message against a schema. |
||
Wildcard |
Matches string messages against a wildcard pattern. |
About Filter Logic
When a message fails to satisfy the conditions specified by a filter, that filter returns a null value, which causes the processing of that particular message to halt. In other words, the message is rejected and undergoes no further processing.
When a message satisfies the conditions specified by a filter, that filter passes the payload of the message to the next building block in the flow, and processing of that particular message continues.
When you place a filter immediately after an HTTP endpoint configured for a request-response pattern, and no response has been configured for the flow, Mule uses as a response the result returned by the final message processor in the flow, which is null.
Configuring Filters
This section covers only those configuration activities common to all filters. For configuration activities that apply only to individual filters, click one of the links in the Reference column of the table Bundled Filters.
As for all Studio building blocks, you configure Filters in two major steps:
-
Drag the filter from the Palette to the Message Flow canvas, then set its position within the sequence of building blocks that make up the application flow.
-
Provide values for the required fields on the various tabs in the filter’s Properties Editor.