Locking mechanism helps restricting multiple users updating same object simultaneously. For example, for Quote, if one user has applied certain changes, another won't be allowed to update on it.
This lock gets released when the user having access, saves or discards the changes. Subsequent notifications are pushed to the failed users during this.
Types of Locks and Configuration
Lock can be configured simply by setting com.imc.context.LockRegistry value inside application properties.
MEMORY_BASED : Applies memory level locking.
DATABASE_BASED : Applies DB layer locking, useful on multiple VM/Computing units.
NULL : Lock feature disabled.
Even though Memory based lock is slightly performance effective, Database based lock provides completeness by supporting multiple VM/Computing units. By default, Database based lock is assigned if not configured anything.