Automatic Cache Coherency

JADE objects being used by JADE sessions are copied into local memory, in the JADE object cache of the client node. This speeds up access, by minimizing object requests to the database server node. However, this creates the situation where if the object is updated on another client node, the local copy in cache could no be longer up to date.

To handle the situation where the local copy in cache would otherwise become out of date, JADE provides a feature, automatic cache coherency, which automatically detects when a JADE object has been updated and causes local copies of the object to be marked for refresh in all of the caches where it has been copied. This means that the next time the object is accessed, it is fetched from the database server node and therefore be up to date. This feature is enabled by default.

For most read operations, this mode of operation is satisfactory and avoids the extra code and overhead involved with having to place object locks. However, there is a small time delay between when the object is updated in the database and when the client nodes are notified. If it is crucial to an application that a JADE object being read is guaranteed to be up to date, a JADE session must lock the object.

Automatic cache coherency does not apply to JADE collections, which are kept up to date by being automatically locked whenever accessed.