Appearance
Duplicate check
Passes a record to Output only the first time its key (the value of FilterProperty) is seen, optionally within a time window; repeats go to Already exists. Use it in front of anything that must not process the same item twice.
Pins
| Pin | Kind | Types | Description |
|---|---|---|---|
| Input | input | any | Record to check. |
| Output | output | same as input | Record whose key was not seen (or whose earlier key expired), with the original metadata. |
| Already exists | continue | any | Record whose key was already seen within the window, with the original metadata. |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
FilterProperty | dropdown (property of the input type) | Required. Property whose value is the duplicate key. Options appear after the input is connected. | |
FilterLifetimeInMsec | integer (≥ 0) | 0 | How long a key is remembered, in milliseconds. 0 = forever (until the flow stops). |
Behaviour
- At start the component builds its own key set for
FilterProperty(the input type is taken from theInputconnection). WithoutFilterPropertythe flow fails to start. - For each record the key is added atomically: a new key, or a key whose lifetime has passed, goes to
Output; a key still remembered goes toAlready exists. - Keys keep the type of the property (a number stays a number, compared by value); a record whose key is null always goes to
Already exists. - Keys are never released by later components: only the lifetime ends them.
Notes
- The key set lives in memory, belongs to this component and is empty after a flow restart. It is not shared with queues; a queue's own
FilterPropertygives the same check inside the queue (and can be persisted). - With
FilterLifetimeInMsec=0the set grows with every distinct key for as long as the flow runs; set a lifetime for unbounded key spaces. - Safe for parallel callers: two records with the same new key at the same time pass only once.
Example
json
{ "FilterProperty": "OrderId", "FilterLifetimeInMsec": 600000 }Http listener → Duplicate check → Queue ; Already exists → Http response (409)