LDIO Change Detection Filter
Ldio:ChangeDetectionFilter
The LDIO Change Detection Filter, which is in fact a transformer, keeps track of each member with the same subject if the state has changed. If not, the member will be ignored, otherwise the member will be sent further through the pipeline. This can come in handy when you do not want to spam your server for example with duplicate state objects.
Flow of the Change Detection Filter
flowchart LR
;
PREV_TRANSFORMER[Previous transformer] --> State_Object((State\n object));
State_Object --> FILTER(Change Detection\nFilter);
FILTER --> HASH((Hashed\n model))
HASH --> Filtering{Contains\n member with\n same subject and\n same hashed\n model?};
Filtering -->|No| NEXT_TRANSFORMER[Next\n transformer];
Filtering -->|Yes| Ignore[Ignore member];
Config
General properties
Property | Description | Required | Default | Example | Supported values |
---|---|---|---|---|---|
state | ‘memory’, ‘sqlite’ or ‘postgres’ to indicate how the state should be persisted | No | memory | sqlite | ‘memory’, ‘sqlite’ or ‘postgres’ |
keep-state | Indicates if the state should be persisted on shutdown (n/a for in memory states) | No | false | false | true or false |
SQLite properties
Property | Description | Required | Default | Example | Supported values |
---|---|---|---|---|---|
sqlite.directory | Directory wherein the .db file can be saved | No | N/A | /ldio/sqlite | String |
Postgres properties
Property | Description | Required | Default | Example | Supported values |
---|---|---|---|---|---|
postgres.url | JDBC URL of the Postgres database | No | N/A | jdbc:postgresql://test.postgres.database.azure.com:5432/sample | String |
postgres.username | Username used to connect to Postgres database | No | N/A | myUsername@test | String |
postgres.password | Password used to connect to Postgres database | No | N/A | myPassword | String |