The Module Message filter
Each module has a configurable message filter. By default modules will process every message they receive. By adding a message filter the module will only process messages matching some criteria. Messages not matching the filter criteria can either be dropped, or passed-on untouched. For example, match conditions:
- On numeric property values (=, <, >)
- String property values (contains, does not contain)
- >Equal/not equal
- isNull, isNotNull
- Regex
- Boolean values (isTrue, isFalse)
Multiple conditions can be used.
Additional Filtering Modules
SplitSplit a stream of messages into multiple paths by defining conditions on message data. Multiple conditions can be specified for each path. Each path will get a separate output on the module. |
|
Report By ExceptionOnly let through messages when the value of a specified property changes. Can be used to remove duplicates. |
|
Range FilterOnly let through messages where a selected value is either within or outside of a specified range. The same effect can be achieved by using message filters. |
|
Array FilterThe module filters an array of objects by the specified Filter(s). Filter evaluation can be set to Or(one filter match is sufficient) or And (all of the filters must match). When the Or filter is used the filters are evaluated in the order they are specified holding the key value and another property with the value for that key. |
|
ThrottleLimit the rate of messages, e.g. only let through a maximum of one message per second. Can also be used to spread out messages in time by enforcing a minimum delay between messages, which can be used to smooth out bursty traffic. |
|
DeadbandThe module filters away messages within a deadband, i.e. where the difference is small enough to be ignored. For example if the range for a deadband is X the module will only let messages pass through if the value changes more than X in any direction. The module allows the deadband to be configured as an absolute value or a relative percentage. |