LCA Configuration
The LCA framework allows you to execute custom tasks on different events in an object life cycle.
Life Cycle Actions in Business Model
Life Cycle Actions are defined as a map between the action name and the action list in the lifecycleActions
section of the configuration file.
An action can be specified in the following ways:
- Current tenant action is specified by its name.
- Shared action managed by Reltio is specified with a Reltio/prefix.
lifecycleActions
Example configuration:
"lifecycleActions": {
"rawDataBeforeCleanse": [
"FirstAction",
"SecondAction",
"Reltio/CommonAction",
"Lambda/BinaryJSON/LambdaAction"
],
"afterSave": [
"AfterSaveAction"
]
}
In this configuration, rawDataBeforeCleanse
and afterSave
are action hooks which specify list of actions to be performed. A hook can contain either a list of simple actions or a list of action groups with a filter. If an action group has a filter, it will only be executed for entities that satisfy the specified filter condition. For more information, see Conditional Execution of LCA.
Life Cycle Actions in a list are executed sequentially, the next action gets the result of the previous actions as input.
Configuration Inheritance
Party
has lists of actions for beforeDelete
and beforeSave
, and Individual
(which is inherited from Party
) has lists of actions for beforeSave
and afterSave
. In this case, the resulting Individual
has the following lists of actions: beforeDelete
(all from the configuration ofParty
)beforeSave
(a list of actions fromParty
, then a list of actions from the configuration ofIndividual
)afterSave
(all from the configuration ofIndividual
)
Party
inside L1 and L3, only the final configuration from L3 is used.Configuration Scenarios
One of the most common uses of an LCA is to interrupt the normal processing of an entity, read its current values, and then write additional data to it either before the save or after the save. A good approach is to treat the LCA as a source. The LCA has exclusive ownership and control of a crosswalk within the entity. The values contributed into the entity by the LCA through the crosswalk are then easily managed against other values in the entity using Survivorship Rules.
Support for Distributed Logging
Starting with 2016.1, the Reltio Platform components use log4j SocketAppender to log data in distributed storage with dynamic configuration from S3 configuration files. Reltio Platform components support distributed logging configuration using the S3 configuration file instead of editing log4j.dita files on every component directly.
LCA Execution Timeout
To ensure that custom LCA codes don’t affect Reltio’s performance, we’re timing out LCAs that take more than 100 milliseconds to run. This affects all new tenants provisioned after the 2023.2 release.You’ll now see a message/alert in Reltio, when an LCA you created exceeds the threshold. The default timeout for Lambda and native LCAs is 100 milliseconds.